Apache Allura is more than just for software
Apache Allura is a set of tools to help people collaboratively develop software, and an open platform on which innovative new tools be built. It’s being hosted publicly and is built through contributions of individuals and companies who want to promote Open Source development. We talked to Dave Brondsema, VP at Apache Allura about what’s under this project’s hood and why software forges are gaining momentum.
We invited Dave Brondsema, Principal Engineer at SourceForge.net and VP at Apache Allura, to talk about this open source project hosting platform and to tell us why Apache Allura is different from other software forges.
JAXenter: What is the idea behind Apache Allura?
Dave Brondsema: Apache Allura is an open source project hosting platform. It’s really flexible, as I’ll get into later, but it is primarily designed for running all the tools you need in a software development project: Git, Hg, or SVN code repositories, ticket tracking, wikis, blogs, etc. And not just for one or two projects, it can scale up big time, with options to organize projects into “neighborhoods”, as well as use subprojects.
It’s a project of the Apache Software Foundation and it is written in Python. It was initially developed at SourceForge, and it is still being used there today as the biggest deployment of Allura for all the open source projects at SourceForge.
JAXenter: What are key features of Apache Allura and what is the difference between this project and other software forges?
Dave Brondsema: By far the biggest difference is in the flexibility of Allura, both for users and for system administrators. Projects can choose what tools to use and how to name them. They can have multiple of each, with fine-grained permissions. For example, a project can have a Wiki named “Documentation” and not just “Wiki”. Or three separate issue trackers for different purposes, or an SVN repo named “legacy” alongside their current Git repo. Whatever works best for each project.
If you don’t even need code repositories you can turn those off and still have an integrated set of tools for general project management.
Behind the scenes, a guiding principal of Allura’s architecture is to make things extensible and pluggable. Each tool (forums, git, etc) is basically a plugin, and anyone could develop their own, building on top of core functionality like search, email handling, markdown and cross-linking between tools. Other extension points include authentication, themes, markdown macros, events, and admin tools. This lets you choose from local auth, LDAP auth, or your own custom authentication integration code, etc. A full list can be found here.
JAXeter: What would you like to improve? Is there a killer feature you are currently working on?
Dave Brondsema: Right now we’re working on two-factor authentication. And JIRA import and Slack connectivity are in early development too. Those are all pretty big features, but we also have plenty of little improvements and bugfixes to do too. With such a broad set of features, there’s always plenty to improve upon.
A guiding principal of Allura’s architecture is to make things extensible and pluggable.
JAXenter: Why do software forges play a big role nowadays?
Dave Brondsema: Companies and organizations everywhere need tools and platforms to organize the code they’re working on and the project management for it. Sometimes people have to deal with code in one place, issue tracking in another system, and docs and discussion elsewhere. If you can tie those all together in one place it’s obviously a lot easier to search, cross-reference, and manage what’s going on in your projects.
Allura can be more than just for software though; if you don’t even need code repositories you can turn those off and still have an integrated set of tools for general project management. Every type of project in the world has issues to track, documents to be written, news to post, and discussions about it all.
JAXenter: What does the future hold for Allura?
Dave Brondsema: We recently released v1.5.0 with contributions from a Google Summer of Code student, which was fantastic. As with most open source projects, we don’t have a specific roadmap we work from, so just stay tuned.
Or join in and help out with any features you want to contribute to :)
Thank you very much!