I’ve just recently discovered something that blows my mind: many people (who should) don’t know what open source really means. I am truly surprised. The way everyone talks about it, writes about it, argue over it, flame each other about it, it just doesn’t seem possible.
When I write ‘people’ I mean programmers, sys admins, users, and others who I specifically thought would know what open source means. Many don’t. It is as though some are making up their own definition.
Like when you read a book & read a word that you don’t know the meaning of. You skip over it anyway figuring that the context of the rest of the sentence will give you the general idea. You think you understand the general idea, but unless you go look it up, no dice.
Look it up now. Bruce Perens wrote it & it’s right here: http://www.opensource.org/docs/definition.html
The most common errors people make when thinking about open source are: that if you distribute the source code the program is open source, and that you can somehow restrict to whom the code is open source.
Firstly people think: “So if I give away the source code the program is open source, right?” No. While that is the most important characteristic of open source, that isn’t the whole thing. What you can and cannot do with that code is every bit as important as having access to it. If people can download the new Mozilla source code, but not change it, play with it and experiment with it as they like the code will not evolve.
The second misconception is that you can somehow restrict to whom your code is open source. You cannot redistribute the code without giving access to everyone and call it open source. That is to say you, “must not restrict anyone from making use of the program in a specific field of endeavor.” While distributing the software, you must include the source code, and you must not restrict to whom you grant rights.
In this vein, people ask: So, can I distribute my code as open source, but restrict commercial use of it? Again, no. I see this one a lot. I think this spawns from people’s mistrust of certain software companies. I understand their mistrust, but it’s just not open source or free software with this kind of restriction.
“..the definition is there to make receiving, using, and developing a program as hassle free as possible to the benefit of having better software”
Think about this way for a minute. Let’s assume that everyone’s favorite software company to dislike didn’t exist. Would restricting the use for commercial entities still make sense to you? Not when you really thing about it.
I would like, nay pray, that my ISP would use Linux or a *BSD. Wouldn’t you? It doesn’t make sense that if you want the best code possible that you should shutout or inhibit someone who could potentially help. When most people want to restrict commercial entities they simply say the program will cost you for use if you are using it commercially. Perhaps you’re still allowing them use, but you are restricting their use more than others. Some don’t want commercial entities to use it at all. This is not open source.
One thing to keep in mind is that the definition is there to make receiving, using, and developing a program as hassle free as possible to the benefit of having better software. It is not there to pick a fight ‘against the man”, or to protect your personal interests aside from having a better program. If you decide to open source a program you are doing so to the benefit of others and your code. Of course if you have better code, you’re better off too.
There are other misconceptions, but these, I’ve noticed, are the most widespread and potentially damaging to the prospect of having better software.
That URL again is http://www.opensource.org/docs/definition.html
Give it to me straight….