“Open source” is not an organization or a movement, it is a way of doing something -- of developing software. You can think of it as based on two main principles, a moral one and a practical one.The moral principle goes like this. Programmer Bob says to programmer Alice: “Hey, I really like your code: can I have the source code for free and customize it for myself?” Programmer Alice says: “Sure -- but only if you allow other people to use your modified code for free, just like I’m letting you use mine.”

Many people think this a poor principle for software development, for example because Alice won’t get paid for her code. That brings us to the practical principle behind open source. Adherents of open source programming believe that when code can be freely copied, modified, and distributed, it develops and improves rapidly because so many people end up debugging and contributing to it. Much of the Internet’s infrastructure was built this way, as was Linux.

Some people believe all code should be open source, some believe none should be, and then of course there are people who believe that only some but not all source code should be open source.

what is open source?