Yes, Open Source Is Important

I have a bit of a rant in me right now so you may want to duck and cov­er. Although I tend to dis­agree with some of the rabid and rather con­strain­ing ide­olo­gies in the open source com­mu­ni­ty, I have always agreed with the basic issue that the source code should be open so that the cus­tomer of that code can go in and tweak it to meet their needs. Closed source code puts con­straints around their code so that the one using the code can not use it as they need it. In web devel­op­ment where most code involved by default has to be open there should be open­ness. But there are those who would close things down.

I am work­ing with a client devel­op­ing a refresh of their web site. It is start­ing to look pret­ty good. They are using Joomla 1.5 for their base and adding a bunch of third par­ty exten­sions, sev­er­al of which they have paid for, to help meet their needs. I have gone in and tweaked a cou­ple of them to match the exten­sions more close­ly to the needs of my client. Joomla and most of those exten­sions are open source. But I have run into one that needs some tweak­ing but they encrypt­ed their code with IonCube so it can only be run with the IonCube decoder.

The exten­sion is from sakic.net and they should be ashamed of them­selves. Quite frankly, I would that no php devel­op­er ever use these encoders so that the encoder devel­op­ers would just go out of busi­ness. And, cus­tomers should nev­er pay for some­thing that uses these encoders!

I believe firm­ly that the devel­op­ers should receive com­pen­sa­tion for their work if they so desire. I have no prob­lem with pay­ing for these third par­ty exten­sions. But for them to pre­vent the end user from being to able to change the code to meet their needs… growl. One won­ders what they are hid­ing, could it be nefar­i­ous?

This is one of the biggest prob­lems with closed source code, espe­cial­ly from small devel­op­ers. One does not have any way of know­ing what is going on inside that black box or how it could even inno­cent­ly be doing some­thing dam­ag­ing. Nor could one go in and fix a bug real quick instead of hop­ing that the devel­op­er will fix it. Don’t get me start­ed again with third par­ty data sources! My client has run into a sit­u­a­tion as well with a third par­ty data source that has a bug and they refuse to fix it — that sim­ply rein­forced my dis­like for them.

On the oth­er hand, I don’t go so far as to say that devel­op­ers have to fol­low exact­ly the Open Source Initiative’s def­i­n­i­tion of “open source.” I believe a devel­op­er has to have the right to restrict dis­tri­b­u­tion of their code for one. In fact, I feel this points out prob­a­bly the one big idea that I real­ly take issue with the open source com­mu­ni­ty. They do not care one whit about the devel­op­er, they only care about the rights of the end user. Obviously, from this post, I sin­cere­ly care about the end user’s rights but they have to be bal­anced with the devel­op­ers.

So let me be plain. Do not pur­chase prod­ucts from sakic.net until they stop encod­ing their prod­ucts. They could pro­tect their intel­lec­tu­al prop­er­ty by prop­er copy­right pro­vi­sions and still allow peo­ple to mod­i­fy their code for their own needs. But this wan­ton dis­re­gard for their customer’s needs pre­cludes me from rec­om­mend­ing their prod­ucts.

If you are a php devel­op­er, do not use IonCube or any of the oth­er encoders (includ­ing Zend Guard). Lets rid our­selves of these warts in the PHP com­mu­ni­ty. I still find it sad that Zend encour­ages closed source code using an open sourced lan­guage. Growl!

Ok, rant off for now.

Leave a Reply