Forgot your password?
typodupeerror
Debian Software Linux

Canonical Begins To Open-Source Launchpad 65

Posted by kdawson
from the could-take-a-while dept.
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."
This discussion has been archived. No new comments can be posted.

Canonical Begins To Open-Source Launchpad

Comments Filter:
  • by eldavojohn (898314) * <[moc.liamg] [ta] [nhojovadle]> on Tuesday July 10, 2007 @02:42PM (#19816445) Journal

    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 [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:

    '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.
    • by physicsnick (1031656) on Tuesday July 10, 2007 @03:00PM (#19816657)

      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.
      • I think they wanted Launchpad as their "money maker" the end product would be Open Source, but they would own the project building system as it represents THEIR work structure. Like how Sourceforge does things only more focused. They've been squeezed by the FSF to open it up.. the FSF even created a non-launchpad based distro GNUsense. Over all, I think they didn't really make as much money as they thought they would being the sole gatekeeper and to leave it competing against the other project tools that a
    • Re: (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.
      • One have the option of relicensing it into GPLv3.
        • by H3g3m0n (642800)
          Having the choice of GPLv3 is fairly close to being pointless, the GPLv3 is designed to plug loopholes but if a company wants that can just go with the GPLv2 without the restrictions. With that said I doubt Launchpad is going to be running on a TIVO any time soon. The possibility of patents does exist, since a company could take launchpad and code patented stuff into their fork of launchpad, then charge for it and sue anyone who uses the opensource product without a licence. Having the GPLv3 option does
    • Re: (Score:3, Informative)

      by semiotec (948062)

      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.

      • by Anonymous Coward
        And that's also an unsourced statement in that wikipedia page... have a look at the source of the page, there's a comment basically saying "I think I read this in an interview somewhere that this is how much it costs to run", which is a rather shaky basis to assert revenue from!
    • by LWATCDR (28044)
      "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.

  • by wawannem (591061) on Tuesday July 10, 2007 @02:45PM (#19816479) Homepage
    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
    • by cromar (1103585)
      Can I get a hell yeah?

      Seriously. ORM is sooooooo niiiiiiiice.
    • Re:ORM == good (Score:5, Insightful)

      by bockelboy (824282) on Tuesday July 10, 2007 @03:05PM (#19816705)
      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.
      • by Shados (741919)
        terrabytes of data here. Works pretty good. Where's the problem exactly? In most scenarios, it will be doing the exact same query anyway (not a billion ways of doing CRUD for example, and most data mining operations should be done on an OLAP system anyway, so....)
      • Re:ORM == good (Score:4, Informative)

        by wawannem (591061) on Tuesday July 10, 2007 @03:22PM (#19816887) Homepage
        > 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
      • Re:ORM == good (Score:5, Informative)

        by Cyberax (705495) on Tuesday July 10, 2007 @03:26PM (#19816935)
        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.
        • Re: (Score:3, Insightful)

          by iluvcapra (782887)

          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 fa

          • by imbaczek (690596)
            Face it: the code you posted _is_ stupid. Hopefully you know that.

            That aside, ORM alone won't make anyone a great programmer. It's a tool that does a lot of boring stuff so the man that operates the keyboard doesn't have to; it won't cure cancer and bring world peace just because you .select('world_peace') instead of SELECT world_peace.
          • If you work with complete idiots using an ORM might cause problems similar to your example, but I wouldn't count on those same idiots to write efficient SQL and manage caching and connection pooling either.
          • My personal feelings is that an ORM makes the easy stuff easier and the difficult more difficult. Dealing with aggregate queries, complex joins and huge datasets requires a good knowledge of the ORM and how it generates SQL. If you're used to having direct access to the DB, getting the ORM to do the proper magic can be frustrating.

            This code you posted, though, would be bad regardless of using an ORM or not. I've seen the same thing using regular SQL to grab all the rows and then filtering them out in a c
            • by Cyberax (705495)
              In all ORMs that I know, you can use plain SQL for complex queries. And it's usually much easier to use plain SQL than ORM's built-in query language.

              But in my experience, 90% of queries are simple "SELECT blah.blah,... FROM blah WHERE blah.blah=?" and ORMs allow to forget about this simple CRUD.
          • by Cyberax (705495)
            You can have equally stupid example with SQL:

            RecordSet r=db.query("SELECT * FROM product");
            while(r.hasMoreRows())
            {
                  Row row=r.nextRow();
                  if (row.get(0)<2.99)
                      myResults.push(row[0],row[1],row[2]);
            }

            I've seen enough of such WTFs, usually in PHP programs.
        • 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.

          As I understand it, a procedure in an application making a series of SQL calls to a database to achieve some result may in certain circumstances be much slower than a a single SQL call to the database which executes a stored procedure which does all the work.

          But I don't think the size of the database (or table, which seems to be the real issu

          • by Shados (741919)
            I don't know about these, but the more advanced ORMs out there will take multiple operations in a batch, parse them, optimize them, then make a single SQL query (or at least, as few as possible), and send that in one shot. Or at least, have the option to do so, so its rarely a problem. The one thing that tends to cause issues, are very specific things like query planner hints, but some ORMs even support those. But for the 3 queries in a 5000 tables with replication system you have that require such things,
        • Re:ORM == good (Score:4, Informative)

          by bockelboy (824282) on Tuesday July 10, 2007 @04:24PM (#19817631)
          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.

          • by Cyberax (705495)
            I generally use autogenerated schemas (with manually-added indexes and advanced integrity checks) when I'm using Hibernate. I don't remember the time when Hibernate offered bad schema. Usually mapping from object structure to SQL DDL is very simple (you map objects as tables, one-to-many relations as backpointers, etc.).
    • Re: (Score:3, Interesting)

      by nuzak (959558)
      > 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 lan
  • Storm? (Score:4, Informative)

    by Klowner (145731) on Tuesday July 10, 2007 @02:46PM (#19816507) Homepage
    Anyone know how Storm compares to SQLObject? They appear to achieve the same goal.
  • Oh, wow! (Score:5, Funny)

    by TobyRush (957946) on Tuesday July 10, 2007 @03:01PM (#19816659) Homepage

    Canonical Begins to Open-Source Launchpad
    Hey, that's great! I always get excited when advectives begin to noun things.
  • by rustalot42684 (1055008) <fake@noSPaM.account.com> on Tuesday July 10, 2007 @03:05PM (#19816711)
    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?
    • Enlighten me (because I really don't know): Launchpad sounds like another version of Sourceforge. If it is, then why would they start another SF and say it has the be the "central" system to manage things?

    • by khanyisa (595216)
      And therefore in their minds it gives Ubuntu as a community an advantage over the other distros. Of course, the basic response is that to make a distro genuine free software the software used to produced it should be free as well...
  • We always want stuff faster, but we get epically testy about Open Source. Welcome to /.
  • 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 [launchpad.net]
  • Uh, releasing a component used by Launchpad does not mean releasing the whole thing, now does it? I doubt Launchpad will become OSS, it would go completely against what I understand Canonical's mission to be.
    • Re: (Score:3, Informative)

      by Stemp (936330)

      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 [markshuttleworth.com]

  • Lead by example (Score:4, Insightful)

    by TheDarkener (198348) on Tuesday July 10, 2007 @04:04PM (#19817391)
    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.
  • by Skeith (931626)
    It gives an easy way for computer idiots like myself to contribute to Ubuntu in a small way
    • Re: (Score:2, Interesting)

      by dvice_null (981029)
      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.

Our business in life is not to succeed but to continue to fail in high spirits. -- Robert Louis Stevenson

Working...