Revision of specification freedom from Sat, 05/17/2014 - 19:08
The revisions let you track differences between multiple versions of a post.
==Specifications==
This article explains the philosophy.
For practical advice –which app to use, etc-- visit:
a)
b)
===What is a specification?===
A specification is a description. In the form of a document.
===What do we use specifications for?===
We use specifications for two (more?) things.
'''Save formats'''
Specifications can describe a way to save information. We call these “formats” or “save formats”. We use save formats to store our music, videos, and text.
You can read more about format freedom here.
'''Communication protocols”
Specifications can also describe how to communicate over the Internet. We call these “communication protocols”. The “xmpp” protocol is free; it helps people communicate by instant message, voice, and video.
You can read more about communication-protcol freedom here.
===Specifications and software freedom===
Specifications
==What is a free specification?==
Free specifications support software freedom. Free specifications ensure that people can use free software – to open their saved work, communicate, and play media.
A specification is free if the person responsible for it gives everyone certain freedoms. She has to let anyone read the specification document, use the specification, and implement the specification. These freedoms ensure that everyone can use the specification with free software.
Software is free if anyone may audit, modify, distribute, and use it. These freedoms let us control software on our computers, individually and collectively. The alternative is to give third parties control.
A specification is proprietary if the person responsible for the specification withholds the specificaion-freedoms. People responsible for proprietary specificaion usually withhold specification-freedoms to lock users into a monopoly relationship. The specification will work with one –usually proprietary– program.
'''Why do we need each freedom?'''
In many countries, civil liberties advocates have won and implemented some measure of individual autonomy and freedom. The specification and software freedoms apply those kinds of aspirations and values to people who use computers. We need each specification and software freedom to control software that runs on our computers.
a) Why do we need each specification-freedom? The specification-freedoms ensure that people can choose to use a save-format or communication-protocol with free software. The freedom to write programs to run the specification ensures that we may use the specification with free software. Free –public, whether commercial or not-- specifications support this goal, because programmers need to understand the format to support it. And we need the freedom to use the specification, to realize the software-freedoms.
b) Why do we need each software-freedom? The freedom to audit softwares' instructions gives people meaningful insight into what the software does. With proprietary software, we know what it does only superficially. For example, proprietary software with surveillance features may not put those features on display for users. And because proprietary software disallows meaningful audit, users may never know.
The freedom to modify software allows people to correct malicious features. It also allows people to adapt the software to their needs, or improve it generally.
The freedom to share software ensures that your friend can be free, even if he could not otherwise afford it. The freedom to distribute the software with modification, lets the whole user community benefit from improvements -- and not just programmers individually. The freedom to use software ensures that we can benefit from these software-freedoms.
==Proprietary specificaiton==
A proprietary specification undermines this possibility. Proprietary specifications restrict people from sharing the specification document. And restrict the specification's implementation.
'''Proprietary specifications steer us to proprietary software'''
In two ways...
a) Social pressure Proprietary formats are social pressure to use proprietary software. If we share information with others in a proprietary format, we encourage them to use the one compatible proprietary program. The more information our community stores in the proprietary format, the more difficult it is for any one member of the community to break his dependence.
b) Third-party control The person responsible for the proprietary software withholds software-freedoms. He makes decisions about instrucions that run on our computers, without transparency. He may choose whether to take information from us, and whether to let us know that he does.
If software unnecessarily collects users' information, and offers the software freedoms, anyone may identify the offending instructions, correct those instructions, and distribute the modified software.
Proprietary software does not offer the software freedoms. If proprietary software unnecessarily collects users' information, the user community might never find out. If the community learns of the issue, they can at best accept the responsible party's word, that they do not collect the information anymore.
Since proprietary software does not offer instruction-transparency, we cannot distinguish safe proprietary software from the unsafe.
Contributors: [https://trisquel.info/en/forum/xmpp-open-standard-or-free-standard jxself], [https://trisquel.info/en/users/antiesnob antiesnob], muhammed