06 Jun 2012
As the big news from the conference was obviously the release of LassoLab, I figured I should talk about it a bit. As most of you know, it was a completely secret project, as we wanted to make a splash. We also wanted to not promise anything we couldn't deliver. Once the prototype phase was complete, it didn't make sense to open it up for discussion until we were complete.
Not only am I excited about the functionality (I'd love to hear about if it has saved you time!), but I am also excited about the philosophical basis of the project in general. I thought maybe you should hear about some of the rationale of engaging in an open-source project at this time.
Why open-source? And why free? Ironically, one of the callings of the old guard has been that there are a number of developers who have free time and interest in putting effort into improving the Lasso language, and called for Lasso to be open-sourced itself. This is counter-intuitive to both the direction we have set for the language (commercial, but fairly priced, to pay developers to constantly improve it), and some of our long-term goals (world domination), but consistent with the world of PHP, Python, Java, etc.
As many of you know, there was an attempt to get a group together to open-source the Lasso language during the dark ages. Even Kyle himself, when given a few beers, will tell you that that is his ideal. But unfortunately, there needed to be a business case for it, and that wasn't it at that time. The original LassoSoft was too far in debt to be salvaged through that means, and it didn't make any sense to throw away the baby with the bathwater.
Even today, Lasso as open-source doesn't make sense for anyone. Especially not in the context of our core values of security, speed and simplicity.
Why would we open up all of the brilliance which makes Lasso 9 so that the other open-source projects can steal it and match our speed and other conceptual logic and lose our competitive advantage? Why would we open up fundamental security holes through developers poking holes in the system when it has maintained it's security for so long? Why would we start philosophical scraps over what is best for the Lasso core when we have just made it happen through sweat equity?*
*Knowing, of course, that most of Lasso is open-source, except for the kernel itself. Only the magic in the heart of the beast is closed to the world - the rest is open to play with.
In addition, there are already many completely open-source languages out there, lumbering along while with committees of white-beards cling on to them, hissing and spitting, like so many flies on dung. I love the irony - Lasso 8 and PHP 5 were both released in 2004. Lasso got stuck trying to move to Lasso 9 by financial issues. PHP got stuck due to politics.
Sure, PHP has taken over the world. But Lasso 9 is miles ahead technologically.
"The development of PHP 6 has been delayed because the developers have decided the current approach to handling of instance unicode is not a good one, and are considering alternate ways in the next version of PHP" - Wikipedia
PHP got stuck on trying to move to UTF16. Um, Lasso has been UTF32 for years.
Having said this, in my opinion, the fundamental philosophy of open-source (i.e. decision by committee) is inherently flawed. The basic laws of human behaviour assure that any given issue requiring complete human agreement has a effective entropy leading to zero. In other words, humans, when given an opportunity to scrap over something meaningless, do.
Gotta give Python their due, even if they claim to be part of the "open-source" philosophy, they still have strong ties to their BDFL (Benevolent Dictator for Life).
Anyway, all ranting aside, we have turned the model on its head with Lasso. The theory behind the madness is simple: if you have time to invest in Lasso at a machine level, you should not be putting your energy behind making the language different: you should be putting your time into helping other developers (and yourself) develop.
In other words, when given the option improving your car, or improving your driving: improve your driving - and help other people drive better. We'll look after your car for you - that's our job.
For those people who have the time and energy to contribute: they can! Build better and more tools for LassoLab, and make the community better through your input.
Ergo, LassoLab as open-source makes sense. Where our competitors (like Zend), have closed-source, commercially closed and costly development tools, built on an open-sourced engine, we have opened this up for developers to tinker and improve their experience, on a closed engine. By looking at LassoLab code, a hard-core developer with extra time on their hands can create better and more robust tools for improving their code and concentrate on the correct things to improve their own end results. Not just be part of an "open-source" farm so they can pontificate and scrap and stop the bus.
On a side note, the Eclipse Foundation (the Foundation running the open-source product upon which LassoLab is based) is located a few blocks from where I went to University in the capital city of Canada. A shout-out to them for their magnificent work - they were extraordinarily open and helpful during our development process.