5504
Comment: be fuzzier about date
|
4283
Link to mail about the date.
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
We're open-sourcing the code that runs [[http://launchpad.net/|Launchpad.net]]. The process will probably be completed in late July 2009, before the 2.2.7 release of Launchpad (see the [[Releases/2009Calendar|schedule of releases]]). | We're open-sourcing the code that runs [[http://launchpad.net/|Launchpad.net]]. The process should be [[https://lists.launchpad.net/launchpad-users/msg05078.html|completed in July / August 2009]]. |
Line 44: | Line 44: |
<<Anchor(schedule)>> == Schedule == There are also a number of non-coding tasks, which we'll do roughly according to this schedule: Jan 26, 2009 (Wed):: (Launchpad 2.2.1 release.) Publish pre-release open-sourcing FAQ. We can anticipate some of the questions, but this announcement may stimulate more we hadn't thought of. Feb 24, 2009 (Tue):: Finish internal license vetting, to make sure we don't violate anyone else's license when we open-source. Feb 25, 2009 (Wed):: (Launchpad 2.2.2 release.) Mar 18, 2009 (Wed):: [[http://dev.launchpad.net|Developer documentation wiki]] populated with basics. Apr 1, 2009 (Wed):: (Launchpad 2.2.3 release.) Apr 29, 2009 (Wed):: (Launchpad 2.2.4 release.) May 27, 2009 (Wed):: (Launchpad 2.2.5 release; UDS). Jun 17, 2009 Take development discussion public: move real-time discussion over to #launchpad-dev on irc.freenode.net, take development mailing list public.Publish a Contributor License Agreement (CLA) (actually, already [[http://canonical.com/contributors|done]]). Jun 24, 2009 (Wed):: (Launchpad 2.2.6 release.) Jul 21, 2009 (Tue):: Open-sourcing completed Launchpad itself; release 3.0. |
Open Sourcing Launchpad
We're open-sourcing the code that runs Launchpad.net. The process should be completed in July / August 2009.
Why open-source Launchpad?
This isn't just about freeing up the code; we have a chance to do something unique among open-source collaboration sites.
A new Launchpad release comes out every month; furthermore, bleeding-edge changes to Launchpad quickly go live through the continuous beta testing system. This allows a developer to make a bugfix or an improvement to Launchpad and get real-world testing on the change fairly quickly. Thus a primary site of Launchpad development will be Launchpad.net itself, not just developers' external sandboxes, and the development/testing cycle will mesh closely with people's normal workflows. The result: greater efficiency and much better responsiveness to user needs than is usually the case in open development of a hosted service.
Our goal in releasing the code is to enable users of Launchpad.net to help improve Launchpad.net. If instead the result is that lots of clone sites spring up running the Launchpad code, then we've done something wrong. Having a single Launchpad.net focuses important aspects of collaboration, and many of Launchpad's benefits depend on that. Three specific examples, chosen at random:
- centralizing the information gleaned from foreign bug trackers, so it can be easily crawled;
- being able to establish trustedness of PPAs;
- having an easy-to-remember mainline branch location of "lp:my-project" -- decentralized version control works best when one knows where to find the project trunk.
...and so on. Launchpad's strength is in unifying cross-project and cross-team information. We're not interested in turning Launchpad into just another self-hosted content-management system; our goal is to get data out of silos, not to make more silos available.
What license?
The GNU Affero GPL, version 3.
Absolutely everything?
Almost. There are two components, Soyuz and Codehosting, that we're keeping internal. They're part of Canonical's "secret sauce" in business areas that we care a lot about, and for now the costs to us of opening them up outweigh the benefits.
How is it being open-sourced?
See this blog post: How we're open-sourcing Launchpad.
Much of the code in Launchpad is modularized already, and will be released as independent packages over the next six months. (In fact, this process has already begun — for example see Storm, LAZR.config, and LAZR.delegates.) The separating out of such packages will continue after Launchpad is open-sourced too; there will just be more people participating then.
How will development work? How will community contributions get in?
We're working out a process by which contributions can land in trunk and then go live on the site. Because this is not just a codebase, but a production service for which Canonical is still responsible, Canonical needs to vet all the changes. But hopefully we won't be the only people doing review for long: we expect a development community to form, and will be doing everything we can to foster that. This wiki is where all of the technical and process documentation related to Launchpad development will live; a lot of material is there already, and we're moving more out from our internal wiki all the time.
See also
Blog post: How We Are Open Sourcing Launchpad