It’s the Fourth of July (Independence Day) here in the US. This is a day to celebrate freedom (and maybe to blow some things up). When you think of the word freedom, what comes to mind? There are many songs about freedom - http://www.mcgath.com/freesongs.html. There are many people who are still fighting to be free and many others who are giving thanks for their freedom.
The English Bill of Rights (1689) lists several rights and freedoms including: freedom of petition without retribution and freedom of speech. The United States Bill of Rights contains several freedoms including: freedom of religion, freedom of speech, freedom of the press, and freedom of assembly. And the Universal Declaration of Human Rights (30 declarations) lists: we are all free and equal, freedom to move, freedom of expression, freedom from discrimination, freedom of thought, freedom to play, and education shall be free (the complete document is at http://www.humanrights.com/sites/default/files/universal-declaration-of-human-rights.pdf).
There are many wonderful organizations devoted to the rights and freedoms in our world including:
- Freedom House - http://www.freedomhouse.org/
- Human Rights Watch - http://www.hrw.org/
- United Nations - http://www.un.org/en/rights/
- United for Human Rights - http://www.humanrights.com/
In software development there are many freedom movements as well free software initiatives including:
- Creative Commons - http://creativecommons.org/
- Freedom of Information - http://en.wikipedia.org/wiki/Freedom_of_information
- Software Freedom Day - http://softwarefreedomday.org/
- Open Source Initiative - http://www.opensource.org/
- Free Software Foundation - http://www.fsf.org/
Many developers also want freedom of choice in the programming languages, operating systems, hardware, and APIs they use to build their programs. Here are a few developer freedoms that we all might consider:
- Freedom to use the programming language of your choice - some platform vendors would try to limit what tools and languages you can use to build your software. Apple tried to limit developer choice with the original iOS 4 SDK license agreement only to back down in October of 2010 - http://www.apple.com/pr/library/2010/09/09Statement-by-Apple-on-App-Store-Review-Guidelines.html.
- Freedom to be able to use the same application platform on multiple operating systems and databases.
- Freedom to choose the web services API that works best for your application - SOAP and REST are both open, flexible, and powerful. REST seems to be today’s defacto standard for most Internet services APIs.
- Freedom from the Fear, Uncertainty and Doubt spread by some hardware and software vendors - http://www.simberon.com/freedomvsfear.htm