You ought to have been reading my blog at toothrot.net instead.
Thursday, October 01, 2009
Thursday, May 04, 2006
Free Software
Stallman, GNU, and the FSF
I recently attended a lecture by Richard M. Stallman, of GNU and the Free Software Foundation fame, at the University of Illinois at Chicago. Recently, I have had a bit of a disappointed view of Stallman's philosophy because of his stubborn views in respect to DRM in free software. I was quite convinced of Linus Torvald's "I'm a coder, not a politician" view in respect to software and licensing, but Richard M. Stallman's speech made quite an impact on my views, and was very thought provoking.
It began with his defining of free software and why it was necessary, as per the Free Software Foundation essay (required reading). According to Stallman's speech (and the essay), Free Software is defined by 4 inalienable rights of the user:
This is but a single point, and if you are unfamiliar with the GNU public licensing and the Free Software Foundation, I strongly recommend reading their essays.
Free Software and Teaching Programming
This became more interesting to me as I am currently busied with writing many papers for my English Literature class at IIT. Current copyright laws work as such that anything that is written is covered under copyright law unless the author expressly says otherwise. This is good, if it weren't for ridiculous extensions to the amount of time before copyrights become public domain. When a piece of literature is written, anyone can read it and deconstruct it, with the proper skills. One can use this information to increase their own skills in writing, and have one's own creative submissions to the world. Though it takes a lot of money to get works published, and its obvious when there is blatant plagiarism when dealing with a "best-seller".
This creates a couple of problems in software design. Software is written in a language that can be read by any programmer and is easy to develop. It is then compiled into a machine-readable form that is decipherable by humans, but quite useless for any major changes or redesigns, as it is extremely difficult to read and learn from. Free Software gives the user the original language it is written in and allows the reader to deconstruct the software, learn, and possibly even add something new and amazing to the software community.
This is a large problem in teaching programming, because often times the most popular complicated software is closed source, so many students lose the chance of ever gaining any experience in seeing real software outside of little programs that explain core academic ideas. This greatly slows down the advancement of computer programming: students cannot see how a piece of software was composed and cannot learn how real, popular, usable software is created without industry experienced. Graduates from college are left without any real applicable training since few of them have actually worked on real projects.
Perhaps it's the nature of the beast, but it doesn't have to be that way. (see Selling Free Software). I am no purist GNU/FSF fan-boy, but I do believe that this must be considered and known by every programmer and every user, as often times they are only ever exposed to a hopeless other side of "that's just the way it is."
I recently attended a lecture by Richard M. Stallman, of GNU and the Free Software Foundation fame, at the University of Illinois at Chicago. Recently, I have had a bit of a disappointed view of Stallman's philosophy because of his stubborn views in respect to DRM in free software. I was quite convinced of Linus Torvald's "I'm a coder, not a politician" view in respect to software and licensing, but Richard M. Stallman's speech made quite an impact on my views, and was very thought provoking.
It began with his defining of free software and why it was necessary, as per the Free Software Foundation essay (required reading). According to Stallman's speech (and the essay), Free Software is defined by 4 inalienable rights of the user:
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
This is but a single point, and if you are unfamiliar with the GNU public licensing and the Free Software Foundation, I strongly recommend reading their essays.
Free Software and Teaching Programming
This became more interesting to me as I am currently busied with writing many papers for my English Literature class at IIT. Current copyright laws work as such that anything that is written is covered under copyright law unless the author expressly says otherwise. This is good, if it weren't for ridiculous extensions to the amount of time before copyrights become public domain. When a piece of literature is written, anyone can read it and deconstruct it, with the proper skills. One can use this information to increase their own skills in writing, and have one's own creative submissions to the world. Though it takes a lot of money to get works published, and its obvious when there is blatant plagiarism when dealing with a "best-seller".
This creates a couple of problems in software design. Software is written in a language that can be read by any programmer and is easy to develop. It is then compiled into a machine-readable form that is decipherable by humans, but quite useless for any major changes or redesigns, as it is extremely difficult to read and learn from. Free Software gives the user the original language it is written in and allows the reader to deconstruct the software, learn, and possibly even add something new and amazing to the software community.
This is a large problem in teaching programming, because often times the most popular complicated software is closed source, so many students lose the chance of ever gaining any experience in seeing real software outside of little programs that explain core academic ideas. This greatly slows down the advancement of computer programming: students cannot see how a piece of software was composed and cannot learn how real, popular, usable software is created without industry experienced. Graduates from college are left without any real applicable training since few of them have actually worked on real projects.
Perhaps it's the nature of the beast, but it doesn't have to be that way. (see Selling Free Software). I am no purist GNU/FSF fan-boy, but I do believe that this must be considered and known by every programmer and every user, as often times they are only ever exposed to a hopeless other side of "that's just the way it is."
Wednesday, May 03, 2006
First post!
Here we are: The Essence of Spit. I have my own blog, once again, far from the days of the evil censuring of LiveJournal. Perhaps I'll tell that story later. But I digress...
Things to look for in Spit:
Things to look for in Spit:
- Linux Fixes
- Interesting items concerning current events in Intellectual Property and the Tech Community
Chinese to Swahili translation tool(Feature removed)