BRL-CAD, the world's oldest open-source software system
December 4, 2012
ABERDEEN PROVING GROUND, Md. (Dec. 4, 2012) -- Since 1938, the Ballistic Research Laboratory (BRL) at Aberdeen Proving Ground, Md., was the center for the United States Army's research efforts in ballistics and vulnerability/lethality analysis. That remained the case until 1992, when BRL was disestablished and its mission, personnel and facilities were incorporated into the newly created U.S. Army Research Laboratory (ARL).
But during the decades of providing support to the nation, BRL quickly became involved in the move toward modern computing. Indeed, nearly 70 years ago, BRL unveiled the Electronic Numerical Integrator and Computer (ENIAC), the world's first operational, digital computer.
The development of this computer was driven by the Army's need to speed calculation of firing tables. And ever since the development of the ENIAC, ARL has provided the U.S. military with unprecedented scientific computational capabilities.
One such capability was BRL-CAD.
As its name suggests, BRL-CAD -- a computer-aided design (CAD) system -- was developed before ARL existed. It has been used for nearly three decades in support of modeling, simulation and engineering analyses of military assets and their environments including the design and analysis of vehicles, mechanical parts and architecture.
Dr. Paul Tanenbaum, director of the Survivability/Lethality Analysis Directorate, used BRL-CAD early in his career when he was an analyst at the bench and then later when he served on the team developing and maintaining it.
"BRL-CAD is used in many types of analysis, and most particularly for ballistic vulnerability and lethality. Essentially every major vehicle and weapon system that the Army has acquired, or seriously considered acquiring, over the past quarter century has been analyzed by SLAD with BRL-CAD in conjunction with our other modeling tools," said Tanenbaum. "In order to simulate in software the accurate details of a weapon's effects on a target vehicle, you need a thorough and precise characterization of that vehicle's geometry, materials, componentry, et cetera. And you need to be able to very quickly process lots of queries of the form, 'what would a penetrator encounter if it proceeded along such-and-such a trajectory?' Those are BRL-CAD's two central capabilities: to represent system geometry and to query the daylights out of it."
Tanenbaum explains the importance of BRL-CAD to executing his directorate's mission.
"This ray-tracing, or shotlining, is central to SLAD's MUVES model [their analytical tool for vulnerability/lethality analyses of ballistic damage mechanisms against air and ground-mobile targets, ed.], which then walks threats along the trajectories, assesses how far they'd penetrate and what they'd hit, and concludes what would break, and thus which system capabilities would be lost and which retained," said Tanenbaum.
"So BRL-CAD is at the heart of SLAD's contributions to Army studies, live-fire test and evaluation, a host of major acquisition decisions, and even data tools that operational forces use in weaponeering, which is their pre-mission selecting of an optimum munition load to carry with them into an upcoming fight," continued Tanenbaum.
C. Sean Morrison, from SLAD's Software Development Branch has worked on BRL-CAD for more than a decade. He began working at ARL as a summer student in 1998.
"The CAD industry is 'big' to say the least -- about $6 billion last year, if I recall correctly," said Morrison. "Nearly everything around you …your computer, chair, desk, pen, phone, car and house was modeled and built with the help of CAD software. The industry is about the same size as the computer gaming industry, but isn't as visible since it's not something you'd likely use at home. It's complicated software that usually requires lots of training."
BRL-CAD is extensively cross-platform supporting Windows, Mac OS X, Linux, BSD, Solaris and more. Morrison said that the huge game-changer was in 2004 with the conversion of BRL-CAD into a free open source software system. As open source, it expanded international visibility and participation in the project to unprecedented levels.
"We went from over 2,000 site licenses acquired over a 15-year period to more than 2,000 downloads in the first month alone," said Morrison. "We're now averaging more than 10,000 downloads per month and millions of website hits per year," he added.
Morrison said that just seven years after converting to open source, BRL-CAD surpassed a million downloads.
"The Open Source Initiative describes open source as a development method for software that harnesses the power of distributed peer review and transparency of process. It's more than just providing access to source code," said Morrison. "Open source software must comply with specific criteria that ensure others have the freedom to redistribute the software and make modifications. It encourages collaboration."
BRL-CAD is recognized throughout the open source industry.
According to an article written by Black Duck Software (the company that owns Ohloh), the oldest project on Ohloh is BRL-CAD. The history of this project dates back to 1979 when BRL needed CAD tools to help with simulations for combat vehicle systems. The article states that the BRL-CAD source code repository is believed to be the oldest public, version-controlled code base in the world that's still under active development, dating back to Dec. 16, 1983. With more than one million lines of primarily C code, and 48,500 commits, this project continues to be active 30 years later.
Morrison explains software programming languages.
"There are dozens of prevalent software programming languages to choose from, and BRL-CAD is predominantly written in one of the most popular languages called "C." Every time someone changes BRL-CAD, the change is committed to the VCS or version control system," said Morrison. "There had been [more than] 48,500 commits to BRL-CAD when the article was written and we recently just passed 50,000 commits."
The Ohloh project calculates statistics across open source projects. They watch changes, also known as 'commits,' made to those pieces of software as they happen.
"They scanned half a million source code repositories that they track and found that BRL-CAD was the oldest, still being actively developed surpassing even other wildly popular open source projects," said Morrison. "There are hundreds of thousands of open source projects out there -- Linux, Firefox, Drupal, WordPress, Apache Web Server, Open Office, GIMP. I guarantee you've used some of them without even knowing it. You've indirectly used dozens of open source technologies just by sending an e-mail."
Morrison himself has made more than 13,000 commits the past 15 years.
"Most software worth anything is held within a VCS that keeps track of all changes to software source code, data and other files. In layman terms, it's vaguely comparable to the 'track changes' feature in Microsoft Word, but much better," said Morrison. "It is basic software development infrastructure that allows people around the world to improve source code efficiently and simultaneously. Every change is recorded into a database and keeps track of exactly who did what and when."
BRL-CAD has a long history beginning in 1979 and it takes substantial effort to preserve the history on an active project.
"Its repository goes back really far," said Morrison. "When we converted to open source in 2004, I worked hard to make sure that all of our history was preserved. When we changed from one VCS to a different one, I again wanted to ensure all history was preserved. Black Duck's article highlights the oldest open source projects known on the planet."
The BRL-CAD open source community continues to engage in international collaboration. BRL-CAD was recently selected to participate in Google Code-in (GCI), a contest run by Google encouraging pre-university students age 13-17 to get involved with open source. It is intended to help students who may have wanted to get involved but didn't know where to start. The program runs from Nov. 26, 2012 through Feb. 4, 2013 when the Google Open Source Programs Office announces the winners via their blog post.
"This is a great opportunity where we can mentor students that will work our 'itty-bitty' tasks related to code, documentation/training, outreach/research, quality assurance, and user interface," said Morrison. "It's impressive that BRL-CAD is still being actively and continuously developed and improved after 30 years. BRL-CAD is more active than ever due to the conversion to open source."