пятница, января 27, 2006

BSD vs GPL and Open Source vs Free Software for dummies

What follows is the text of a Slashdot post where the author gives an excellent explanation of the basic differences between the two licenses and the two philosophies.

- Public domain allows people to do anything they like with your code, including making minor mods and claiming it as all their own work, or making minor mods and selling the result as closed-source code.

- BSD allows reuse of your code or a modified version of your code, in anything (including commercial software), without releasing source, so long as they credit you. In other words you can't claim it as your own work.

- LGPL allows reuse of your code as a component part of a commercial software system - hence its alternative name of "library GPL". You don't need to release the code for anything that uses this code/library. However if you make changes to the LGPL code/library then you must release the changes. Again, credits are required.

- GPL goes a step further. If you use a GPL code/library component as part of your software, then you must also release *all* your software as GPL as well, otherwise you may not use that code/library component. Again, there's the requirement for releasing code and credits.

There's many other licenses, but you get the idea.

There's two different philosophies here that drive this.

The first is the Open Source philosophy (Linus and ESR are the drivers here). This says that if everyone works together, we can build something better than closed source software. But it doesn't invalidate the existence of closed source software - it acknowledges that this only works for mass-market software, so there will always be niches where closed-source is a better choice. Basically their drive is to help people do their jobs more efficiently.

The second is the Free Software philosophy (driven by RMS and the FSF group). This says that the very *existence* of closed-source software is immoral, and anyone using closed-source software (even in niches where no free equivalent exists) is guilty of immorality (RMS says that if no free software exists to do a job, then you should refuse to do that job). Software is therefore created as a moral imperative, rather than as a means to an end of carrying out some task (such as web browsing or word processing).

понедельник, января 16, 2006

"That's exactly why I resent grammar/spelling nazis--if everyone followed their advice, it'd be harder at a glance to filter out the idiots." (original post)