From ADL Team Member… Austin Montoya: ADL on GitHub: Giving New Meaning to ‘The Power of Global Collaboration’

Austin Montoya
Austin Montoya

Austin Montoya is a software engineer who holds a B.S. in Computer Science from the University of Central Florida, and currently focuses on all things web development, from user interface design to web service implementations and database administration. Austin is one of the team members responsible for coordinating the ADL presence on GitHub and ensuring that best practices are followed for publicly-released software. Austin Montoya, a contractor with Katmai, provides support to the ADL Initiative. The views expressed are those of the author and do not necessarily represent the views or policies of the ADL.

The Advanced Distributed Learning (ADL) Initiative is proud to announce that all non-sensitive development projects will be hosted publicly on GitHub! We believe that the open development model provided by the site aligns well with the prototypical nature of our upcoming projects, as well as principles outlined by the Open Government Initiative. This post will brief you on where we’ve been, where we are now, and what’s to come in the rapidly-evolving ecosystem of ADL software.

The Stone Age of Collaboration

Our goal is to enable developers across the world to leverage the in-house research prototypes we create for building powerful technologies that push the state of distributed learning forward. In the past, however, fractured developer communities and restricted-access version control systems made it difficult for anyone outside of our organization to improve or collaborate on any of the software we put out, including SCORM-related tools. With the exception of the Test Suite, we put the software out there with plenty of documentation, source code, examples, etc., but once it was there, there was no way for the community to fix it or make it better.

As a developer not working for ADL, to improve our SCORM software you would have to scour the ADL website for the right person’s phone number or the help desk, then use closed communications channels to possibly get the engineers to update the software, which then would require a formal release and all the announcement fanfare that comes with it. That’s a lot of flaming hoops to jump through. At the end of it all, no public record even existed documenting what had gone on, and releases were slow. A lot more effort and synchronous communication was made than should have — from both sides. That was the “Stone Age of Collaboration” because our development model wasn’t open. Then we discovered GitHub.

The Spark

GitHub fixes many of the problems that previously hindered the open flow of information between ADL developers and the people who use the software we developed. For those unfamiliar with GitHub, it is a an enhanced web-based hosting service for projects using the Git version control system. The site is already extremely popular with the open source community, with millions of users, contributions from big-name tech companies like Facebook and Twitter, and countless projects that, out of the kindness of devs’ hearts, are shared with the public, usually with very permissive licenses.

If we want to find people who are interested in SCORM development, the chances are exponentially higher that they will find our projects on the site and use a version control process already familiar to them (Git) to start hacking away. For each project, GitHub also provides an easy-to-use issue tracker and wiki that lowers the barrier of entry for reporting bugs/feature requests, or learning more about how a piece of software works. Our developers are notified immediately via email if an issue is reported, and can respond to it in a more direct and asynchronous fashion that meshes with their daily workflow.

And if you like our software, but want your own version, or want to put your own feature into it, you can “fork” the project into your own personal account and make that awesome learning app you’ve always wanted to. No more asking for Subversion usernames and passwords, no more going to the “Help Desk” to find who can help you. And no more wondering whether the next official update to SCORM 2004 4th Edition Test Suite will clash with what you are developing, because now all updates can be seamlessly integrated into a project that references it or on your own fork. So. Much. Simpler. Like. One-word. Sentences. (Okay, so there was a compound in there, you caught me!)

Transparency in our workflow is another great thing that GitHub enables. I’d be willing to bet that many a taxpayer has wondered what all these government folks and contractors are doing in their offices all day. Well, now we can show you not only the deliverable, but how we got there, who’s working on what, and how often. This data incentivizes developers to be very active on our projects by frequently committing new updates and interacting with the community. We also hope that this encourages developers to be more careful when designing, writing, and testing software, because their professional reputation is on the line and can be positively or negatively affected.

The Fire to Come

We already have several of our more recent projects out on our GitHub account:

  • 3D Repository (3DR) – a repository for storing, converting, and sharing 3D content
  • LR.Net – a .Net-based client library for the Learning Registry project
  • LR Publisher – a GUI tool for publishing documents to the Learning Registry
  • LR Data – a utility for pulling data out of Learning Registry nodes into more familiar and easily searchable datastores.

Plenty more will follow in the coming months as we begin to work on the next generation of SCORM and consider opening up some of the existing SCORM software for the community (speaking of which, weigh in on this topic here). We strive to serve as an example of how software development in an open government should be done, and hope that others may follow suit so that we can approach the singularity faster than ever…or maybe just make the world a better place, one line of code at a time.

Fork away, my friends.

Tags Search and Retrieval | February 14th, 2012 | Posted in Blog Post |
USA.gov ADL FAQ | FOIA | Privacy Policy | Web Site Policies and Notices

Sponsored by the Office of the Under Secretary of Defense for Personnel and Readiness (OUSD P&R)
This is an official website of the U.S. Government © Advanced Distributed Learning