Slashdot Mirror


Canonical Begins To Open-Source Launchpad

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."

25 of 65 comments (clear)

  1. It's Always a Choice by eldavojohn · · Score: 5, Insightful

    Canonical, the corporation behind Ubuntu, has begun to open-source Launchpad. Canonical has been criticized for not doing so earlier. I wish people would relax and remember that everyone has the choice to release their software under whatever license they deem acceptable.

    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:

    Mark Shuttleworth responded personally to this criticism stating that Launchpad needs paid-programmers to continue the development of the Launchpad platform and that there would be no point in developing multiple versions of Launchpad due to the probable incomparability of the forks [2]. Mod me as flamebait if you want but the original creators deciding that they value the quality or single source of code is just as valid as any other for delaying a release under an open source license.

    Canonical isn't stupid and, yes, they're making money. According to Wikipedia, 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:

    'either version 2.1 of the License, or (at your option) any later version,' which is pretty much proof that they have companies in mind who refuse to proceed to GPLv3 (like Microsoft and the cadre of companies that have paid them for software patent protection). You can paint this move as evil, brilliant, successful, intelligent or any of all of them. To me, I trust these guys as Ubuntu has made open source a little more accessible to the world and I really believe that not only do they know what they're doing but they're going to be around for a while. That's good news for software and (at least in my opinion) therefor good news for everyone.
    --
    My work here is dung.
    1. Re:It's Always a Choice by physicsnick · · Score: 5, Insightful

      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. I don't think you understand what Launchpad is.

      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.
    2. Re:It's Always a Choice by morgan_greywolf · · Score: 3, Informative

      which is pretty much proof that they have companies in mind who refuse to proceed to GPLv3


      Or, maybe the component contains code that's only available under a license that's not GPL 3.0 compatible.
    3. Re:It's Always a Choice by semiotec · · Score: 2, Informative

      their 50 person company has an annual revenue of $10 million.

      revenue isn't profit. Sure they are generating quite a bit of revenue for the relatively small staff, but there's no indication of what their operational cost is. Considering they do stuff like mailing out free CDs to anyone that requests it and likely many other nice gestures for the community, their operational cost is probably also high.

      Having said that, I do sincerely hope they are and can remain in the black.

  2. ORM == good by wawannem · · Score: 2

    After having used Object-Relational Mapping in Java for a little bit, I really think that it should be adopted more widely. Prior to using Hibernate in Java, I stood by the notion that CUD operations in the database should strictly be done in stored procedures. This notion seems to be going away, not just for myself but in the industry as a whole. -Wes

    1. Re:ORM == good by bockelboy · · Score: 4, Insightful

      ORM is great! ... until you you have a couple hundred thousand rows. Then it's slow. ... until you have a couple million rows. Then it's unbearable.

      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.

    2. Re:ORM == good by wawannem · · Score: 3, Informative

      > ORM is great! ... until you you have a couple hundred thousand rows. Then it's slow. ... until you have a couple million rows. Then it's unbearable.

      > 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.

      Don't get me wrong, bad database design is bad database design whether it is ORM or any other technology. Something tells me that based on the average row size of 9KB, I'm thinking this table does not really follow good relational design principles (1st normal form, I'm guessing). I've had a project where the data grew quite quickly, quicker than we had anticipated and the database needed optimized. Fortunately, since we were using Spring backed with Hibernate, we had interfaces defined for all of our persistent objects. Our solution was to use iBATIS to get some more granularity with our database queries, build some stored procedures (so that the query plan would be compiled) and add an index or two. The iBATIS classes were retro-fitted to implement the interfaces for the hibernate objects and then all we had to do was tell Spring to use the iBATIS objects rather than the Hibernate objects. Surprisingly, all of the unit tests passed and post-install, we increased our performance quite drastically. The whole project went as smooth as you could hope and I was pleasantly surprised because I really didn't think it would work out. I've been a fan-boy ever since. I still start with hibernate because it does help cut-down the design time, and I believe that "premature optimization is the root of all evil" (Knuth) -Wes

    3. Re:ORM == good by Cyberax · · Score: 5, Informative

      Your statement is just plain stupid.

      Decent ORMs do nothing but map object operations into SQL statements. SQL from an ORM tool is not going to magically work more faster or slower than a hand-written one.

      Again, decent DB schemas (i.e. fairly normalized ones) map nicely into object models (hell, ER-diagrams used to model relational tables map directly into object diagrams). It's the databases with weird tables without PKs and strange stored procs which do not map well.

      I've worked with Hibernate application handling OLAP operations on 10 terabytes of data without any problems.

    4. Re:ORM == good by nuzak · · Score: 2, Interesting

      > After having used Object-Relational Mapping in Java for a little bit, I really think that it should be adopted more widely.

      In Python, it already is. I'll be amazed if Storm is even nearly as good as SQLAlchemy. My guess is it's closer to SQLObject, and even SQLObject has had many years to shake out any issues it has. Unless Storm is radically different, it's just another Not Invented Here framework of dubious utility.

      ORMs are all right, but I wish I could express relations more succinctly in the language itself. Right now I can't even get declarative constraints in most languages that ORMs are pitched for.

      --
      Done with slashdot, done with nerds, getting a life.
    5. Re:ORM == good by iluvcapra · · Score: 2, 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):

      Array myResults = Array();
      Array products = MY_FAVORITE_ORM.all_rows_for_entity('products');
      for product in products {
      if (product.price < 2.99) {
      myResults.push(product);
      }
      }

      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.

      --
      Don't blame me, I voted for Baltar.
    6. Re:ORM == good by bockelboy · · Score: 3, Informative

      Correct Usage: Human writes SQL schema, then integrates the ORM. As long as human doesn't do silly things in the programming language, we have success. Database objects become much easier to use, and speed is fast.

      Incorrect Usage: Human writes an object spec. ORM auto-generates SQL schema. Human blindly uses machine-generated ORM bindings without understanding underlying SQL. Database gets mildly large, then human complains "the stupid thing is slow".

      If ORM is done for convenience, great! That's what I use it for.
      If ORM is used in lieu of understanding how SQL works, you could be headed for trouble.

    7. Re:ORM == good by afd8856 · · Score: 2, Interesting

      I'd be interested more in if they use it as storage for zope 3 objects, and if yes, when they'll release the component that binds them together.

      --
      I'll do the stupid thing first and then you shy people follow...
    8. Re:ORM == good by Spiv · · Score: 2, Informative

      Canonical has used both SQLAlchemy and SQLObject on large projects. Storm was written because neither of those did what we needed. There's a little bit of discussion here: http://programming.reddit.com/info/24oo3/comments.

  3. Storm? by Klowner · · Score: 3, Informative

    Anyone know how Storm compares to SQLObject? They appear to achieve the same goal.

  4. Oh, wow! by TobyRush · · Score: 5, Funny

    Canonical Begins to Open-Source Launchpad
    Hey, that's great! I always get excited when advectives begin to noun things.
    --
    Sam! If you will let me be,
    I will try them.
    You will see.
    1. Re:Oh, wow! by nuzak · · Score: 2

      "Verbing weirds language." -- Calvin

      --
      Done with slashdot, done with nerds, getting a life.
  5. One Launchpad to rule them all.. by rustalot42684 · · Score: 5, Informative

    The reason they don't opensource it because there should only be one Launchpad, or you get all kinds of complex problems that are totally unnecessary. The point of Launchpad is to have a central system to manage things. Why do you need your own Launchpad, when it's better for it to be centralized?

    1. Re:One Launchpad to rule them all.. by nuzak · · Score: 4, Informative

      Launchpad is a bug tracker, with some project management features. The bug tracker in Sourceforge is easily its worst feature, and it has zero project management facilities (at least not in the free version).

      --
      Done with slashdot, done with nerds, getting a life.
    2. Re:One Launchpad to rule them all.. by Knuckles · · Score: 3, Informative

      Seems as if you did _not read the launchpad about page. Launchpad tracks bugs (and specs and similar) with the ability to sync between all projects that joined launchpad. So if I find a bug in some package in Ubuntu, and the upstream of this package also uses launchpad, the upstream is notified directly. For example. It also provides translations services ... ah, read for yourself.

      --
      "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  6. We shall remember rosetta bug #44 by JucaBlues · · Score: 2, Informative

    I am waiting to see rosetta component (software translation tool) opensourced. There is a 'most wanted' feature that I guess will be implemented quickly as soon as rosetta code gets released:

    Rosetta Bug #44,
    "Translations should be searchable"
    first reported on 2005-01-10

    Today it completes exactly 2,5 years of waiting and nothing!

    https://bugs.launchpad.net/rosetta/+bug/44

  7. Lead by example by TheDarkener · · Score: 3, Insightful

    It's difficult to see, in this day in age, ones who lead by example. This should be considered a rare (yet inspirational) occurrence of true leaders - ones who practice what they preach.

    Thank you, Canonical, for doing what you do.

    Sincerely,
    A proud GNU/Linux user.

    --
    It is pitch black. You are likely to be eaten by a grue.
  8. Re:begins? by Stemp · · Score: 3, Informative

    Mark Shuttleworth says: We are steadily releasing pieces of Launchpad, but the whole thing still has proprietary elements. We offer services to people who make Ubuntu derivatives using it, and that revenue stream is important. You can get all your data out easily (and this will soon get even easier to automate) so you're not locked in. In time, LP will all be published under a free software license, but for now it is not.
    http://www.markshuttleworth.com/archives/103
  9. I'm a fan of launchpad by Skeith · · Score: 2, Insightful

    It gives an easy way for computer idiots like myself to contribute to Ubuntu in a small way

    1. Re:I'm a fan of launchpad by dvice_null · · Score: 2, Interesting

      That is true. It is really easy for the newbies, because you can really just go there and submit a bug report and "they" will find out who is responsible for the problem and provide them a detailed bug report so the problem can be fixed.

  10. So? by LWATCDR · · Score: 2

    "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."
    Eventually yes but making it open source will not make insure that will not happen.
    There are probably billions of lines of proprietary software out there. A lot of it was written to do one specific job. Not everybody is going to take the time to release code as FOSS because it takes a lot of work to release code as FOSS and to manage the project.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.