I've be a mindless supporter of these movements for years now not because I was a developer myself but because most of them provided me with a lot of useful free software.
However now that I'm becoming more of a programmer I'm questioning the ideology behind these movements.
1. For which situations are these intended? For every developer?
2. Doesn't it go against the developer himself? How can he secure profit while still sustain such projects?
Just willing to learn.
Thanks.
Name:
Anonymous2010-07-28 17:17
Hi, this topic requires someone who understands the reason WHY the GPL currently is, and WILL ALWAYS *HAVE* to remain VITAL to the software world.
In general, you have two kinds of software producers: greedy ones who want the monopoly, and fair-playing ones, who just want to have recognition, and their share of recognition or money for their hard-work.
The problem is the former. You see, I'd like to use a simple example to show WHY it's bad for a company like Microsoft to gain ANY ground with its paid-for software.
Let us take our very own world wide web, a huge network of HTTP servers which serve HTML pages over the HTTP protocol between HTTP protocol understanding browsers.
The HTTP protocol is a fixed standard. The standard is open, and free to implement. Why has it remained so? The most common HTTP server software used on "web" servers (HTTP servers) in existence today is the Apache HTTP daemon server.
This is a free, open-source web server. It became popular because of its command line nature, and its price: $0.00. The command line nature was an advantage because the WWW began among a small set of computers in a group of universities. I guarantee that these universities were not using Windows NT Server edition for US$300.00. They ran UNIX or Linux (I'm sure that Linux wasn't around then, but I haven't checked and cross refernced the dates).
So shell scripts and all that were the common way to automate these things, and starting a web server up quickly on boot with a simple shell script is obviously a good gain.
Now: Let us imagine what would have happened if Microsoft's web server product, the MS IIS (Internet Information Server) had become the most commonly used web server software.
First of all, IIS would be completely proprietary. Then, with adoption, MS would have become the de-facto standard setter. IF THEY changes IIS, then the WHOLE internet would be FORCED to change WITH IT.
That is, in less than 10 years, MS could make it so that interoperability between a free, standards compliant browser like Apache and IIS would be difficult. But nobody can complain: you have thousands of companies using IIS, and it woudl take too much money to re-train to begin to use apache.
So MS now has enough power to, one fine day, announce a "new" version of IIS with "enhanced capability" and "certain features in older versions of IIS disabled". Then, to mask it all, they release it with ".NET SOMETHING FLASHY", and then all of a sudden, the WHOLE of the Apache held market of the internet doesn't work...EXCEPT if they switch to IIS: IIS has the monopoly, and so it's likely that the Apache people will switch.
Also, MS would have been sneaking in hundreds of small, dirty changes to make the internet RELY on "extensions" to MS Internet Explorer.
All of a sudden, MS has control of the World Wide Web, and all servers. They then refuse to release the changes they've made to IIS to make it incompatible with the extablished ISO standards for the web, so no other servers can communicate on the web, and nobody can force MS to release their source: "it would place in danger their competitive advantage."
Then, we have a pure lock-out of ALL software developers who work on the internet: MS would then begin to phase out other technologies like HTML (add "extensions" until the language looks nothing like the original), CSS, PHP, MySQL, etc.
Until anyone who has a job on the internet is...BROKE and WITHOUT any fighting chance to FREE the internet again and get himself a job. And this is not farfetched: MS DOES NOT obey standards. They will FIGHT with ALL their might to get the standards on THEIR side, then "extend" them, and make their own standard the de-facto one.
This is what Silverlight is about, IIS, all MS Internet Explorer (they were trying to take over the web with it: integrating it into their OS, then since everyone buys Windows, they would have gotten the client side of the Web, then "added extensions", etc.)
This is what GREEDY companies do. So actually, open source software PROTECTS programmers.
You do not have to make your own software open source. No! But PLEASE: AT WORK, in your homes, USE open source software. When your company wants to implement a new system, keep suggesting a free open source alternative to any MS software. DO NOT allow them to grip our industry, or you'll be OUT OF THE JOB that you THINK that GPL is depriving you of.
OF course, you may make your own proprietary software. But by all means: release small open source products. Do anything to keep MS on the ground. Sell one or two main products. But small things that need no fee, please just release the source, and release it for free.
The GPL remains because it is NEEDED to prevent greedy companies from seizing the monopoly. So, no: you may not get money from an open source project: but it's open source software that guarantees the sanity of your work environment, and lets you NOT have to go to MS for everything to find out about what "extensions" they've made to a perfectly good standard, so you then have to be like a child going to them for food.
"You need to download KB937490 update since we've phased out support for your product."
"But...KB-WHATEVER is for the new version. I have to pay $100.00 to upgrade!?"
"Well, I'm sorry sir, but only the new version has the problem fixed."
Is this not what ALREADY happens? So the logic behind open source is not to make all software open source: it's to make KEY software in EVERY market be open source, so that greedy companies can't ever phase out the ability for programmers to implement common behaviour by following standards.