Development philosophy

From AtoM wiki
Revision as of 16:56, 19 August 2016 by Dan (talk | contribs) (Add link to PDF upload of Peter's paper)

Main Page > Development > Development/Philosophy

The AtoM project was first made possible with support from the International Council on Archives (ICA), and 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.

While the vision of 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

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 over the last 8 years) 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. 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-driven 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.

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 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.

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-driven 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 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 - there 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-driven 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, other service providers, 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.

In contrast however, 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 funds we receive from custom development 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 grants 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 opportunities.

Community-driven development sometimes means we can't have a long-view of the development roadmap, several releases in advance of the current version. We manage this via iterative development: most of the features in AtoM have been developed collaboratively over subsequent releases, where one institution will sponsor the base implementation, and 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 sometimes be overlooked in favor 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.

Open-source software has often in the past been described as in terms of "free as in beer" (i.e. price) and "free as in speech" (i.e. creative control) comparisons. 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-driven 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. 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 us as a company step back into the role of a third-party service provider. 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, the application can remain true to its original founding vision and principles.

AtoM: because free kittens should come with free beer

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 it's 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 all 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)