Development philosophy

From AtoM wiki

Main Page > Development > Development/Philosophy

The following page outlines some of the early history and goals of the AtoM project, and defines our approach to community-based development, as well as Artefactual's bounty model approach as a company maintaining an open-source project with a clear mandate.

Background

The AtoM project was first made possible with support from the International Council on Archives (ICA), UNESCO, The Hogeschool Van Amsterdam Archiefschool, Direction des Archives de France, the World Bank Group Archives, and the United Arab Emirates Centre for Documentation and Research. The 1.0-beta release was freely distributed for testing and feedback in the form of a demo CD distributed to delegates at the ICA congress in Kuala Lumpur, July 21st to 27th, 2008. As Peter Van Garderen outlines in his 2009 paper, "The ICA-AtoM Project and Technology" [1], the original goals of the project were defined in a 2008 Steering Committee meeting as follows:

The purpose of the ICA-AtoM Project is to provide free and open-source software:

  1. that enables institutions to make their archival holdings available online, especially those who could not otherwise afford to do so
  2. that manages archival descriptions in accord with ICA standards
  3. that provides multi-lingual interfaces and content translation features
  4. that supports multiple collection types
  5. that is fully web-based, user-friendly and follows accessibility best practices
  6. that is flexible and customizable
  7. that is useful to both small and large institutions alike
  8. that supports single or multi-repository implementations

Seealso

See the Papers and presentations section of this wiki to explore some of the early papers explaining the history of the project.

Fom ICA-AtoM to AtoM

While an ICA-organized, publicly accessible Steering Committee to manage the growth and development of the ICA-AtoM project did not materialize in the way originally envisioned, Artefactual Systems, the original and current lead developers of the application, have remained dedicated to the original aims of the project: the development of a freely available, multilingual, multi-repository archival management system that allows traditionally under-funded institutions access to tools supporting description and access based on national and international standards and best practices. AtoM has continued to grow and develop since the 1.0-beta release in 2008, and October 2013 saw the release of a re-branded and redesigned 2.0.0 version of the application, now simply known as AtoM.

An overview of the AtoM project's early development

Project governance

Due to the particular nature of the AtoM project's development history and our hopes (along with those of the AtoM community as it has grown) to see the project continue and its original aims maintained, Artefactual as a company is currently in a somewhat unique position of being a private company maintaining an open-source project that was originally intended to have an international governance body. To continue to grow as a project, AtoM required consistency and commitment - that is, an organizational home and someone dedicated to maintaining the project and its related resources over time. As the lead developers, Artefactual had a vested interest in seeing AtoM continue to flourish and when the original vision for project management and governance did not coalesce, we continued to maintain the project. As such, Artefactual has become the organizational home of the application, and currently retains copyright, owns the AtoM trademark, and manages all code contributions to the 'official' public codebase.

The continued growth and vibrancy of the AtoM project and its community suggest that these efforts have been worthwhile and successful - this has largely been due to Artefactual taking a community-based development approach to improving the application, and what is sometimes called a bounty model of open-source business structuring as a company. Each concept and its relation to the AtoM project will be explained further below.

In spite of these successes, this relationship was not part of the original vision for AtoM’s ongoing project governance, and as our community grows and becomes more engaged, we look forward to exploring alternative governance models that are more community-centered. Artefactual remains committed to seeking solutions that will allow us to continue maintaining the AtoM project in the short and medium term; in the long-term as we explore the possibilities of future AtoM versions, we remain open and interested in alternative governance models that would see users invested in the project step forward into governance roles, and have Artefactual become one developer among many service providers in a vibrant ecosystem. In the meantime, we rely on a spirit of openness, collaboration, and generosity within the AtoM community so that resources can be pooled, goals are collectively established, and the application can remain true to its original founding vision and principles.

The Bounty model

To support the original and ongoing aims of the project, AtoM has always been, and will continue to be, released as open source software - currently, we release it under a strong viral license (AGPLv3) to ensure that the application is not forked or incorporated by someone wishing to charge access to its enhancements. In maintaining our commitment to the original project aims, we also seek in every way we can to lower or remove barriers to the project resources: to this end, Artefactual not only releases the code via our Downloads page and our code repository, we also make our documentation available, our webinar recordings, our wiki resources, our presentation slides, and even as much free support as we can offer via the AtoM user forum, all free of charge. With every major release, we also budget time to review and address many of the bugs reported to us by our user community, with the hope of seeing the project improve progressively in both large and small ways with each public release.

To sustain ourselves as a business and be able to continue maintaining and developing AtoM, Artefactual also offer additional paid services - including application hosting, consultation, training, theming, data migrations, and of course, custom development. This business model is sometimes known as "Professional open source" - at Artefactual, we think of it as the Bounty model of open-source development. As a company, we use our resources from these additional services to continue supporting the ongoing maintenance work required to keep the AtoM project sustainable and growing.

Community-based development

Every time we are contracted to develop a custom feature for an institution, we work with the client to ensure the feature respects established national and international standards, and we try to generalize its implementation so it can not only meet the use case of the institution in question, but also be of benefit to the entire AtoM user community. We then include all of these enhancements in the next public release. Whenever possible, we also accept bug fixes and code contributions from our user community, and will handle the review and merging of this code into public releases, as well as its maintenance through subsequent releases, thereby reducing the burden on individual contributors over time. We have a number of development resources on our wiki to help users get started.

This is the community-based development heart of the AtoM project. The growth and direction of AtoM is determined by the individuals and institutions who recognize that open-source software requires maintenance to continue to be viable and relevant in the long-term, and who sponsor features, enhancements, and bug fixes that will benefit the project as a whole in addition to meeting their particular institutional or individual needs. This means that AtoM, as an application, is truly what our community makes of it - the current version, like all versions before it, has been made possible thanks to contributions large and small from dozens of institutions and individuals. You can see this on the release announcements we maintain and on the Roadmap part of our wiki for the upcoming releases, where we try to acknowledge all the different institutions and individuals that have helped to make the new features possible. This is one of the joys of community-based development - seeing what we can accomplish as a community when we are all working towards common goals. It also means that institutions with more resources are able to invest in solutions that not only meet their needs, but also benefit the community at large and assist smaller, under-resourced institutions to have access to the same tools and applications. Everyone benefits from any single contribution - whether it is development or contributions to the project in other ways (documentation, user forum participation, papers and presentations, provision of services by other service providers, formation of user groups, and more). Whenever possible, we try to provide further avenues for connection and dissemination of resources via the user forum and places like the Community resources section of the wiki.

Challenges and opportunities

One of the challenges of this approach is that as a small company, we at Artefactual simply don't have the resources to undertake much of the development and maintenance we would like to see happen without community support. We are already in the process of giving away the majority of our core business products via AtoM and Archivematica; the work products from funds we receive from custom development contracts are released back into subsequent releases via code maintenance, documentation, webinars, conference presentations and workshops, bug fixes, user forum support, release testing and packaging and more - anything left over is used to keep the lights on and our team of archivists, developers, and system administrators doing the work we are passionate about. In Canada where Artefactual is based, there are very few large grant programs or philanthropic organizations; as a private company we are often ineligible for large grants which other non-profit or institution-based open source cultural heritage applications can access, and need to work with our community partners to coordinate applying for these funding sources.

Community-based development sometimes means we can't have a long-view of the development roadmap, several releases in advance of the current version. We manage the roadmap via iterative development: most of the features in AtoM have been developed collaboratively over multiple releases, where one institution will sponsor the base implementation and we then we look to future sponsored development to help us refine, improve, and build upon that first implementation. When one institution makes a commitment to the development of a new module, it then lowers the barrier for future institutions with smaller available resource pools to refine and enhance the feature further in the future - but both institutions, and the community at large, benefit from this approach. However, this feature-based approach to development can sometimes mean that core maintenance tasks, such as updating and modernizing AtoM's libraries, frameworks, and dependencies can be overlooked in favour of new functionality. We are constantly looking for ways to include maintenance work in any development project, and to assist in connecting institutions and individuals with each other so resources can be pooled and the maintenance work required to keep the AtoM project viable in the long-term can be addressed.

Community growth and looking ahead

Open-source software has often in the past been described in terms of "free as in beer" (i.e. price) and "free as in speech" (i.e. creative control). Sometimes the phrase "free as in puppy" is added to provide the important reminder that all software faces obsolescence risks and requires support and maintenance over time (though we prefer "free as in kitten"). Our community-based development model means that AtoM is only as good as we as a community make it - and Artefactual's bounty model of business, aimed to keep as many project resources freely available as possible, means that we are unable to take on many of the development and maintenance activities we would like to see without sponsorship and support from the broader community. As technologies change, the need for a next-generation version of AtoM will grow so the project can keep abreast of developments in technology, archival theory, and information science. However, such a large undertaking also brings with it the opportunity for new models of maintenance, governance, and engagement.

AtoM: because free kittens should come with free beer

As we contemplate what a next-generation version of AtoM might look like, we are also considering ways in which we can foster community engagement and collective ownership over the project, moving from a community-based development model to a community-driven one, where core users, institutions, and organizations with a stake in the continuation of the project have decision-making power over the application’s maintenance and growth. We look forward to engaging in these conversations with our users - and recognize that they cannot succeed if our users are not invested in the project itself.

To that end we encourage active involvement in the AtoM project in whatever form you find accessible. If you are an institution with resources, know that any feature development or maintenance work you sponsor will benefit all other AtoM users large and small in a subsequent public release. If you have developers working to make customizations in-house, we encourage you to get in touch with Artefactual early in the process, review our development resources, and consider budgeting project time for Artefactual to code review and merge your work into a public release - this ultimately removes the maintenance burden from your institution going forward as AtoM continues to develop, and allows other institutions to use and potentially improve upon your work in the future. If you have limited resources, start discussions in our User forum or via Twitter to identify potential collaborators so you can pool resources and ideas. And of course, there are many ways you can help contribute to the project and the community without money or technical expertise. If you're confident working with AtoM, consider organizing a User Group, meetup, skill-share, workshop, or hack-fest in your area - we'll gladly help you spread the word! If you've developed internal documentation or other AtoM related resources, let us know and we can add it to the Community resources section of the wiki. If you're attending a conference or other related cultural heritage event, consider preparing a paper or presentation on your use of AtoM, and share those resources with the community. Join us in the User Forum - all questions help build the knowledge base of the community, and if over time you are able to assist in answering other user questions, even better! Contribute to our documentation - we've got some resources to get you started here - or if you have ideas or see mistakes but don't have the time or resources to address them yourself, let us know... everything helps! This is but a small list of examples of all the ways in which you can help to make the AtoM community a rich and vibrant one. Help us think of more!

Seealso

AtoM has come a long way since its beta public release in 2008 - and its growth and progress would not have been possible without the support of dozens of institutions, individuals, and organizations along the way. Artefactual remains committed to keeping the AtoM project true to its original vision, which remains as relevant today as it was in 2008. It is via our adoption of a community-driven development model and a bounty business model that we have been able to keep the project stable and growing thus far - and ultimately, it is through engagement, collaboration, and generous exchange among users in the AtoM community that we can continue to see the AtoM project grow and thrive into the future. Thank you for helping us turn AtoM into the vibrant project it now is, and we look forward to defining its next steps with you.


[1] Van Garderen, Peter. "The ICA-AtoM Project and Technology." Presentation delivered at the Association of Brazilian Archivists' Third Meeting on Archival Information Databases, March 16-17 2009, Rio de Janiero, Brazil. (File:VanGarderen-ICA-AtoM-2009.pdf)