Abstract

Allura is a modular and extensible free/open source software platform for software development. You can read more about Allura’s feature set in the Allura wiki at https://sourceforge.net/p/allura/wiki/Features/

Proposal

Allura is an open source implementation of a software "forge", a suite of web applications that manages source code repositories, bug reports, discussions, mailing lists, wiki pages, blogs and more for any number of individual projects as well as for collections of projects.

SourceForge.net is running an instance of Allura, and Allura itself is a project managed there: http://sf.net/p/allura/. Additionally, http://software.dlr.de/ is using Allura.

The name Allura itself has two meanings. It’s Sardinian slang for “And then …” It’s also the name of Princess Allura, from Voltron. Stories vary, as with any good project name.

Allura has been designed to be the code and project hosting platform for SourceForge, the largest place for Open Source software tools and applications: home to over 3 million users, hosting a catalog of over 300,000 distinct projects and serving over 40 million unique visitors per month and over 15 million downloads per week. Allura was designed to be scalable, delivering only what projects need, and our aim is to collaborate with ASF to get the wider contributions and make it the richest all-in-one solution to design, write, debug and promote individual projects as well as collections of projects.

Background

Since the late 1990’s, SourceForge has provided a place for people to create and run Open Source projects. In the last two years, the back-end has been completely rewritten, and has been Open Source since the beginning of that process. This rewritten code comprises Allura.

Allura is written in Python, and provides a framework within which one can select source control (svn, git, mercurial, etc), issue trackers, discussion forums, and various other tools associated with the software development process.

SourceForge.net itself is running on an instance of Allura.

Rationale

Software development projects can be complicated beasts. By providing all of the necessary tools, and offering a choice of tools in most categories, Allura promotes best practice in software development. This product can be used either inside a company - as some are already doing at their own premise, such as http://software.dlr.de/ - or as an open forge like SourceForge, to encourage software projects to be done right.

As Apache’s mission is to produce software for the public good, the Allura project fits right in by enabling others to also produce software using good development practices.

We also believe strongly in giving project communities as much control over their destiny as possible, even if this means enabling them to take their project elsewhere. Allura is built to give projects complete control over their data, and Allura itself being Open Source contributes to this by giving them input into the hosting environment as well. Having Allura within Apache, and outside of direct SourceForge control, will give our development communities even more control of their projects.

Current Status

Allura has been developed under the Apache License v2.0 from the beginning.

Meritocracy

We plan to do everything possible to encourage an environment which will support a meritocracy. At the moment all committers are either SourceForge employees or former SourceForge employees. We are already working with some universities to help students to build their career path collaborating with our open source project.

Community

Allura has been developed in the open since its inception, and has a community of developers outside of the company that actively watch development, and submit tickets and patches. We are interested in building that community more, and adding more developers from outside of our organization.

SourceForge has a long history of helping Open Source projects build their communities, and strongly believes in the value of the community, even over the value of the code itself. We look forward to diversification of our community, and the vibrancy this will grant to the code.

Additionally, Allura supports the concept of “neighborhoods”, which allow for grouping of related projects into shared project management, which may be helpful with related projects within the ASF, were projects interested in adopting Allura as their development platform.

Alignment

Allura is about software development, and has grown out of a community which is about open software development. The love for Open Source in general, and the Apache governance model in particular, is deep seated in all of the folks currently on the Allura team.

While Allura itself enables any development methodology, the core Allura team is very much believers in the Apache Way.

Known Risks

The existing Allura development team has the SourceForge website firmly in mind when developing. This means supporting our project developer communities and addressing their developer experience.

We have a deep personal interest in seeing this project succeed, and, thus, our company be successful. This may may result in different priorities from members of the community that come from outside of SourceForge.

However, we firmly believe that it’s exactly that diversification of the developer community that will make the product more successful.

Orphaned products

As SourceForge’s entire business is based around this product, there’s no risk that the project development will be abandoned, regardless of the outcome of this proposal or a subsequent incubation. We’re in it for the long haul. Additionally, several other businesses are based around older versions of this product, and have expressed interest in ongoing participation. Inexperience with Open Source

The initial developers of this project have a long association with Open Source. SourceForge itself has been a hub of Open Source development, so to speak, for more than ten years, and many of the initial developers on this project have been involved with Open Source for as long or longer.

Homogeneous Developers

The initial set of active developers are, indeed, almost all from the same company. Although there are some names on the initial committer list from outside the company, most of these are former employees who are not very active any more.

We are hoping to expand that group of developers, in order to have wider input from our user community to improve the developer experience for those using Allura as a development infrastructure.

Reliance on Salaried Developers

At present, almost all development on Allura is done on salaried time from a single company. It is understood that expanding the developer community to the point where this is not the case, is a goal of incubation.

Relationships with Other Apache Products

It is hoped that some Apache projects might adopt Allura as their development infrastructure. We don’t know how this might come about, but would love to see that outcome. Indeed, overcoming objections to using Allura as a development infrastructure will no doubt lead to enormous product improvements.

With regard to direct connections to Apache projects, Allura itself uses Apache Solr for search functionality, and the source control component supports Apache Subversion, in addition to other revision control technologies.

An Excessive Fascination with the Apache Brand

We are indeed Apache fans. We look to Apache as a model of good community governance methodologies, and recommend these methodologies to projects hosted at SourceForge all the time. If this constitutes an excessive fascination with Apache, then we’re guilty as charged.

However, we’re interested in joining the ASF family, not for the brand recognition, but in order to benefit from this community governance model. We already have a recognized brand, and we already have infrastructure. We’re interested in learning, as well as teaching, about how Open Source projects are run, and doing it better, as well as the obvious benefits to our project community and the product itself.

Initial Source

The Allura source code has been developed in the open, in Git, on the SourceForge infrastructure, from day one. It has been under the Apache License, 2.0, also from day one. The entire code history can be seen here:

https://sourceforge.net/p/allura/git/

The project began in July of 2010.

Source and Intellectual Property Submission Plan

Geeknet owns copyright and other intellectual property rights on what its employees produce. The patches that we've received so far have had a "Signed-off-by" flag, to indicate licensing under AL2 See https://sourceforge.net/p/allura/wiki/Contributing%20Code/ for details.

External Dependencies

External dependencies include MongoDB, Apache Solr, and numerous Python packages.

Cryptography

None in the codebase, only in 3rd-party dependencies

Required Resources

Allura is a development forge for Open Source software. It is currently self-hosted on the SourceForge.net instance, and we strongly believe that eating our own dogfood is central to the success of our project. As such, several of the items in this section request that we remain self-hosted, presumably on a VM running Allura.

Mailing lists

In addition to the self-hosted web-based discussion forums, Allura requires the following mailing lists:

allura-private allura-dev allura-users allura-commits

Subversion Directory

Input needed from Incubator PMC - Allura is currently developed in Git, and we’d prefer to keep it that way. We also desire to have our code be self-hosted - ie, to develop Allura within the Allura tool.

Issue Tracking

Input needed from Incubator PMC. The Allura product includes a ticket tracker, and we would prefer to use all of our own tools, as much as possible, in the development of our product.

Initial Committers

This is the initial committer list on the Allura project.

Champions

Nominated Mentors

Sponsoring Entity

Incubator PMC

AlluraProposal (last edited 2012-06-19 15:25:57 by RichBowen)