Rant on the frustrations with open source

I’ve become a huge fan of Python and in particular Django over the last year. So much so that it’s what we are planning to use at http://www.binaryplex.com as it offers a lot of advantages in terms of speed of development and cross-platform ability.

There are also lots of great tools and libraries we can use and plug-in to. So here comes the “however”.

Licensing is a huge frustration — there are so many different variants out there that even our relatively simple prototype work crossed at least 5 different variants.

As a home-hacker it’s a moot point, who cares. As a commercial developer though you’re fraught with numerous issues:

* what rights to my code am I giving away
* are the licenses compatible
* ultimately, what do my customers care about?

Part of the cost of acquisition in any sensible implementation is a legal review of the licenses involved. For a moderate sized application using Python, you might quickly get to 10 or more variants of licenses that need legal review to assess for their impact on the enterprise.

Many organisations won’t allow some types of licenses (GPL for example) to be used, although this is less of an issue when the module is a complete tool like Pysapie, it still raises flags and additional review points.

For our engine to get through the door of a paranoid enterprise (and frankly tell me one that isn’t) we might have weeks of legal review before they’ll even install.

The other interesting point about open source is that while it’s full of generous people who’ve made great code contributions to the world and some very significant open source foundations, there are also plenty of dead-end forks along the road.

This will only get worse, projects get left behind “free” to the world, but in reality they have forked, been super-ceded or fallen out of favour and they now clutter the landscape with bad / out-of-date code.

I get that these are contributions to the greater good but it would be nice to put them in a box labelled “here be dragons” and only the bravest adventurers need to enter. The rest of us have been duly warned if we get eaten alive.

Ultimately the irony I see with open source in many respects is that it is compromising some of its original drivers — if it was about placing the control of code into the end-users hand why is it that for most end users, they feel they have better control when the code is under a single commercial license from Microsoft?

While I run the risk with closed source that the vendor will drop the product and leave me without support, the reality is it’s far more likely that I will get several years notice and planning before this is the case. It’s far more likely that the key player behind that great open sourced utility I’m using can drop it because they suddenly find something more interesting to do. I could pick he project up but more likely I’ll rip and replace — like them, I’ve got better things to do.

It’s not stopping me from donning my knights armour and chasing those dragons, but on dark nights I do wonder why we didn’t just choose C#! I can certainly appreciate why some enterprises will hesitate when faced with the choice of a predictable outcome versus adventuring in the dark.

/rant off