Canonical Begins To Open-Source Launchpad 65
kripkenstein writes "Canonical, the corporation behind Ubuntu, has begun to open-source Launchpad. Canonical has been criticized for not doing so earlier. The first component of Launchpad to be open-sourced is Storm, described as an 'object-relational mapper for Python.' A tutorial with many examples is available. The license for Storm is the LGPL 2.1. Inspection of the source files shows they contain the common phrase, 'either version 2.1 of the License, or (at your option) any later version,' meaning that Storm is LGPLv3-compatible."
It's Always a Choice (Score:5, Insightful)
Now, you might be wondering why anyone would open source anything at all. And my simple answer to that is this: Prior to today, if someone said 'Launchpad' to me, it would be the Ducktales character. As soon as this application is open source, it's going to become something I installed on my box and played around with for a while. And that's the difference, if it's proprietary, you better be prepared to sell it or it's going to die a death of obscurity without anyone even hearing about it.
People have the choice not to open source software and oftentimes, it's for very good reasons. I don't think this case is any different as the Wikipedia article states:
Canonical isn't stupid and, yes, they're making money. According to Wikipedia [wikipedia.org], their 50 person company has an annual revenue of $10 million. Which isn't too shabby. I think these guys are genuinely interested in being both an active member of the open source (Ubunutu) and commercial (Project Landscape) worlds. Isn't it obvious who their thinking of when they put:
Re:It's Always a Choice (Score:5, Insightful)
Part of the reason Canonical was in no hurry to ready Launchpad for open source was that it wasn't really meant to be hosted on a variety of different servers or instanced for each project, like Trac; it's a centralized system designed to host many projects concurrently, like SourceForge. In short, there was only supposed to be one Launchpad.
The fact that people wanted Launchpad open source to host their own projects meant that Canonical first had to design standards for communication between different instances of the software. This should allow you to, say, host your own project on your own Launchpad, but still have bug reports communicated automatically with Ubuntu.
Re:ORM == good (Score:5, Insightful)
I love ORM for smaller applications, but there's always a point where heading down the hall to say "hi" to the local DBA is a good idea. And beware, redesigning the DB from the ORM to your own schema can be extremely painful. How close the ORM schema is to "pleasant" depends highly upon the package you use.
This is from someone who is trying to perform queries on someone else's database designed with Hibernate. One that has 12 million rows (average row size, 9KB). Which has been running my simple query for 40 minutes.
Lead by example (Score:4, Insightful)
Thank you, Canonical, for doing what you do.
Sincerely,
A proud GNU/Linux user.
Re:ORM == good (Score:3, Insightful)
Everybody's so quick to throw that 'stupid' word around.
I have on more than one occasion run into code that looks like this (pseudo-code):
This works a hell of a lot slower than a SELECT, and this is just a stupid example. You're much more likely to run into it when people are building big honking summaries: they run a ton faster if you know how to build nested SELECTS and how to GROUP by one thing and ORDER by another while further knowing the difference between an INNER JOIN and a LEFT OUTER JOIN. But a lot of people don't, so they just use the language to do the summarizing.
There are other nastier things that can happen, particularly when people try to use ORMs to do what TRIGGERS usually do, and so on.
I'm a fan of launchpad (Score:2, Insightful)