Yesterday I had the unique pleasure of seeing Richard Stallman give a talk at a local Java Users group.

One thing I learned during this talk is the difference between his concept of “free software” and that of “open source software.”

By “free”, Stallman and his group, the Free Software Foundation, mean freedom and not necessarily that the software has no financial cost. Specifically, “free software” means taking a political and ethical stance: respecting the users’ freedom to 0) run, 1) study, 2) distribute and 3) modify/redistribute the software. Based on Stallman’s staunch views of modern technological society, it also means rejecting non-free software such as “Goober”, Google and the “Amazon Swindle”, which are built upon open source software but do not respect users’ 4 essential freedoms.

To me the main difference between free software and open source is that free software requires a political stance about the nature of free computer use, whereas open source is practical, focusing on the benefits of community development.