| « The Open-Source Experience (Pt. 2) | Charlie goes East: An American Tail » |
So this week version 3.4 of CKEditor was released. CKEditor is a very popular WYSIWYG editor written in javascript. Since we use this program at our office, I spent most of the last release cycle working with CKEditor. I decided to go one step further though and fill the void of support on the forums.
Over the past month I've contributed about 10 bug findings, 15 bug patches, 2 plugins, and lots of support hours. Not all of my contributions made it into this release (Some will be in 3.5), but I wanted to take some time to reflect on my second major open-source project involvement. Especially in light of the open-source movement which is constantly growing and becoming more of a debate in the technological community as various companies "embrace" open-source practices, buy open-source companies, or use open-source software.
This will be a multi-part series about Open-Source software, its pros and cons, project life-cycle, and more! So let’s start with a bit of background.
For the uninitiated, one of the biggest trends in software development right now is the open source model. Source code is the raw programming code which produces the programs and sites you use. For example, when you look at my blog, you see HTML, you cannot however see the source code (PHP) which was used to generate this HTML. Also, when you run Word or any other program, you will not find the code which powers that program. Just the EXE.
Open-Source programs on the other hand, usually require that the program be distributed with its source code, and that the source code be kept in a publicly accessible place. So when you use CKEditor on a website, it’s shrunken down, translated and basically unreadable…but it’s easy to get the source code to make changes.
Since the raw-code is available, open-source programs are usually free to use under certain conditions. These include: 1) The source code must always be distributed, 2) The license may not be altered (It’s at the top of every file), 3) Attribution must remain, 4) It may not be used in commercial products. Since this doesn’t fit everyone, many people will offer a second type of license for commercial applications. This allows companies to pay a certain amount of money for a different license which lets them remove references to the original product and to use it in a commercial program.
For example, if I were to use CKEditor to allow you to comment on my site, that’s fine. But if I used it in the same was (for editing comments) in a Content Management System which I sold to companies, I would need a different license. Anyways, there are some core CKEditor developers who presumably use this money as their salary (Including the guy who the editor is named after).
One of the biggest sites for Open-Source software is http://www.sourceforge.net where all projects are open source (or are supposed to be). Projects here include Filezilla, eMule, Azureus, Bittorrent, 7-Zip, Audacity and more. Did you know Firefox is open source? As is the entire Linux operating system. Anyways, it’s kind of a big deal.
Well now you know a little bit of backround about what exactly an open-source project is. There is, of course, a catch which is, it’s all distributed free…and who would work for free? Well that’s something for next time.