Open Legislation Project Goes to Github
September 7, 2010
-
ISSUE:
- Legislature
While the API and code snapshots of our the NY Senate's Open Legislation service were released as open-source last year, the day to day development was still done on internal Senate servers. The NY Senate CIO-STS team maintains a complete internal development system utilizing Redmine (project managment plus wiki) and Subversion (code management system). It is on this platform that our primary project management and bug tracking is done for the nysenate.gov website, mobile apps, intranet web applications and more. In addition, we use this system to collaborate with other agencies, software development partners and academic institutions. However, this system is not public, and there is a practical limit to how much we can scale and open it up to the world. For our open-source projects to truly flourish, we need to move them outside the semi-protective walls, and into the commons.
With that in mind, we are happy to announce that Open Legislation has begun hosting its active development on the Github service. The active project development can now be found at http://github.com/nysenatecio/openlegislation
This means you will see every feature, bug, patch, update, wrinkle and blemish. Developers can fork the code and implement their own enhancements which will be considered for merging back into the core. Development discussion will be hosted on the public Freenode IRC servers at #nyss_openlegislation.
Here are a few more reasons why we are taking this approach:
- There has been strong interest from the academic community and other legislatures to utilize and improve our code
- We believe that with the necessary improvements Open Legislation 2.0 can be a great option for other legislative bodies
- Allowing other citizens and constituents to contribute to the software which powers the public face is another way of fulfilling our commitment to transparency and open government
- We want Open Legislation to be the best open-source legislative platform and need as many smart, creative people as we can find to take it there
Open Legislation is actively moving towards the 1.6 "Ember Eltanin" release (our codename system combines colorful adjectives paired with astronomical occurrences). We are happy to have developers contribute to this release or focus on participating in our work towards Open Legislation 2.0 release, which we will be launched for the Senate's 2011 session.
Here are the kind of technologies you will be working with as part of Open Legislation:
- Java / J2EE Web Application with Maven2 build environment
- Lucene search engine implementation (both index generation and search controller and UI)
- Proprietary ASCII and XML data parsing from internal legislative data sources
- XML and JSON view generation via XStream
- JDO and JAXB library usage
- Google App Engine customization / forking / tuning
- Amazon Web Services AMI / EC2 and RDS tuning
- HTML5 (web and mobile) user interface creation
Here is how you can join in:
- Join the active development of the Open Legislation 1.x code tree
- Fork the code and prototype your own features
- Help us improve our documentation and testing guides
- Test fixes and report bugs
- Help design the 2.x platform, including:
- design a more pluggable, loosely coupled data importer framework
- create an administrative console interface, both command line and web package
- tune and test the system for turnkey use on Google App Engine and Amazon Web Services
The current core development team for Open Legislation includes Nathan Freitas, Jared Williams and Graylin Kim.
Nathan Freitas is the Senate CIO team's Director of Mobile Apps and Open Services, and the original developer for the Open Legislation release 1.0 to 1.5, as well as the Senate's mobile apps.
Jared Williams has come on board this spring, after a very successful student internship, as a member of the CIO team and is serving as the lead staff developer on Open Legislation, not to mention on a number of other projects including our work to create an open "Gov Geo" API.
Graylin Kim, currently a graduate student at Rensselaer Polytechnic Institute (RPI) in Troy, NY, joined the project this summer as part of an internship, and has led the way in a major redesign of the Open Legislation internals, the 2.0 API, and our work in supporting the Sunlight Foundation's 50 State Project. More information about his work can be found on his website, http://www.shadesofgraylin.net/
You can find the team on IRC at #nyss_openlegislation on Freenode
or email Nathan directly at freitas at nysenate dot gov with any questions.
Otherwise, the official GitHub project is at: http://github.com/nysenatecio/openlegislation
Additional Developer Documentation: http://openlegislation.shadesofgraylin.net/