Civic technology, drupal, Gov20, government, New York, open data, open-source, reinventing government

Open Senate Overview

A lot of people are asking us these days for a comprehensive stem-to-stern overview of how we accomplished our open government work in the New York State Senate, which made me realize that we’ve never published the entire story in one place So, in hopes that it is useful to our peers inside and outside of government, here goes:

New York State Senate “Open Senate” Initiative

Open Senate is an online “Gov 2.0” program intended to make the Senate one of the most transparent, efficient, and participatory legislative bodies in the nation. Open Senate is comprised of multiple sub-projects led by the Office of the Chief Information Officer in the New York State Senate, ranging from migrating to cost effective, open-source software solutions, to developing and sharing original web services providing access to government transparency data, to promoting the use of social networks and online citizen engagement. Participatory websites were developed for all 62 Senators and more than 40 Senate Committees, and integrated with social networking tools; data portals for publishing and receiving public comment on all administrative and legislative data were deployed; use of open-source software, open data standards, and cloud-based-hosting services minimized the cost of these innovations. Open Senate won Best of New York “Visionary” and “Project Excellence” awards in 2010 from the Center for Technology in Government.  Key elements of Open Senate include:

NYSenate.gov – NYSenate.gov serves both as an accessible repository of all legislative and institutional administrative data, and well as a leading “Gov 2.0” portal comprised of websites for all 62 Senators and more than 40 Senate Committees that support citizens in interacting directly with their elected officials and the legislative process.

Open Administrative Data – Prior to 2009, most legislative and administrative data either needed to be FOIL’d or had not been available at all. Examples include live and archived video of committee meetings and public hearings, payroll and expenditure reports in spreadsheet format, committee votes, and floor votes.

Open Legislation – “OpenLeg” is a website and an Application Programming Interface (API) that makes legislative data available to the public in a way that it can easily be searched, commented upon, and shared socially with others. Some of this legislative information, such as Committee Votes, was not available anywhere online (not even on the Assembly website or in the paid version of the Legislative Bill Drafting Commission’s Legislative Research Service) until its publication on the Open Leg website, pursuant to new Senate Rules passed in July of 2009. All data is available in industry standard open formats as “feeds,” and the publicly accessible API allows the data to be integrated directly into web applications by third-parties. The data that is available on the OpenLegislation website is also leveraged for internal software applications. CIO-STS is currently working to leverage that information in internal legislative applications to help both central staff and member offices.

Mobile — NYSenate Mobile, comprised of custom applications developed specifically for iPhones, iPads, and Android phones, as well as a full Senate website optimized for any mobile web browser, is the first mobile application in the nation developed by a legislative body. These apps pull together information from across the Senate – all 62 Senator offices, all 32 Legislative Committees allowing citizens, staff, and journalists to search for bill information, contact Senators, review event calendars, read Senator’s blogs, watch archived video of Senate Session, Committee Meetings and Public Hearings, and even submit Freedom of Information Law (FOIL) requests. Those with devices that have built in GPS can even use the application to identify the Senator that represents the region that the user is currently in while running the look up.

Open Source — NYSenate.gov and Open Legislation exclusively use open-source software, so the Senate does not owe any license fees for their maintenance; furthermore, all software code for the projects is published online and freely available under open-source BSD and GPLv3 licenses for re-use by peers in government and any other third-party, thus increasing the anticipated ROI of our investment in these projects.

Open Standards & APIs — All data and other content used in NYSenate.gov and Open Legislation is also published as data feeds in open standards formats such as XML, CSV, and JSON, and there is also a freely available Application Programming Interface (API). This empowers third-parties to do much of our work for us, developing applications that provide access to Senate data in a variety of value-added forms such as interactive voice response (IVR) telephony, at no additional cost to the taxpayer, thus again increasing the anticipated ROI of our investment in these projects.

Open Content — NYSenate.gov has also garnered national attention for its progressive content licensing policies, as the first State website that has copyrighted its content under a “Creative Commons” license, which affirms the public right to freely reuse content under the stipulation that it not be used for political fundraising purposes.

Continue reading

Advertisements
Standard
Civic technology

2010 Wish: A Non-Profit to Help Government Entities Share Code

We want to share

We write a lot of code in the New York State Senate Office of the CIO. It’s all released under dual BSD and GPLv3 open-source license, and we post most of it here on GitHub (and some on Drupal.org).  We fervently hope that our peers in government– whether in other legislative bodies, at other levels of government (e.g.: city, county, federal), or other branches of government (e.g.: NY State Agencies in the Executive Branch)– will find and make use of this code.

For example, our NYSenate.gov website, into which 1000s of hours of developer work have been invested to customize the Drupal CMS platform for our legislative body, should ideally be able to meet the quite analogous website needs of the ~98 other State-level legislative bodies in the USA, not to mention the 1000s of City Councils in the USA.  I’d like it to be easy for an IT Director for any legislative body in the US to quickly and easily get capabilities analogous to NYSenate.gov without needing to reinvent our wheel.

But It’s Hard…

However, most of the time for most of our applications to date, the promise of delivering more utility more efficiently by sharing the costs of developing and maintaining application code between peer public sector entities– better leveraging investments of precious tax dollars in public sector IT– is merely a good idea.

We try to go the extra mile to document our code well, posting it on GitHub, making our peers aware of it through speaking engagements, participation in unconferences, and use of the social Internets, and by liberating the data at least through our extensive support for open data standards and APIs.  We field calls about approach and policy and precedent frequently from our peers.  However, there is no question that it remains a heavy lift for a peer institution to actually take our application code and efficiently drop it into their own use case, because our code is necessarily customized to our specific nuanced needs in the Senate.  Like most government entities these days, we’re understaffed relative to the workload we have.  We don’t have the resources to easily contribute the custom Drupal modules we’ve written to Drupal.org and commit to becoming the maintainers of these modules.  Nor do we have time to refactor our code into a more generic “Legislative CMS product” for our peers to more easily find and make use of.

Another example– this time one in which another government entity could help us here at the NY Senate: friends of mine at NASA recently built an online application (in their own free time) that leverages NASA’s publicly accessible LDAP server data (which is a subset of the internally accessible data from the same LDAP server), and then allow NASA employees to “claim” their profile on this public website, and add additional metadata like your Gravatar, your skills and interests, etc.  Here in the NY Senate we’ve been researching enterprise social networking & collaboration applications that could help our internal staff to discover and leverage specific interests and skills of their colleagues.   The application written for NASA, which is open-source and posted on GitHub, could help meet this need for us, but at the moment we’d have to rip out and replace code in order for us to be able to use it; it would take the NASA crew some significant additional work to refactor the code to turn it into more of a product in which we could merely edit a config file to deploy it for NY Senate…

In both our NY Senate example and the NASA example, if the refactoring work on code were done, and some level of ongoing maintenance and support of the code were available, more value would have been returned from tax dollars invested in our respective work, and we would also in turn be able to leverage off of the additional refinement of our code done by our peers in government to further benefit our institution.  In other words, we could share the workload of software development and maintenance with our peers in government.

In the case of some business applications, vendors do offer productized SaaS solutions that meet the needs of a customer vertical like “legislative body.”  But these solutions are rarely open-source, and are often either prohibitively expensive, or are not really built to suit the nuanced needs of a niche customer group, because such a niche may not be a large enough potential business market to warrant development of a highly nuanced product.  Therefore, I think that the public sector needs to innovate in terms of self-support of technical collaboration.

I can envision a thematically-focused technically competent organization like the Sunlight Foundation doing the heavy lifting on a specific application that might be of specific interest to them, like our Open Legislation application.   Others of our peers, like the NYS Department of Labor, have taken explicit steps to increase technical collaboration with other Labor organizations in the public sector by creating online hubs like LaborForgeForge.mil sets a strong precedent at the Federal level, and I’ve heard rumors of a Forge.gov to be launched in the future.

Open standards help.  Unconferences and virtual peer communities of practice help.  Open APIs help.  Open software licenses help.  Code repositories help.  Cloud computing infrastructure in which a machine image can be cloned with a few clicks helps.  Developing applications within a service-oriented architecture (SOA) helps. The promise of online government app stores and feature servers help.

However, all of these approaches today are being implemented piecemeal if at all, and, when they are, often within a narrow niche where a motivated group of peers seeks help in solving a single problem they’re focused on at a single time.

A Solution?…

I believe that citizens and governments alike would be well-served by an international non-profit entity (or perhaps a consortium of non-profit and for-profit entities committed to open-source?) charged with putting all these techniques together in a way that any public sector institution can easily contribute to and extract value from software development by their peers.  Unlike some existing efforts, this organization would NOT be limited to moving the ball forward in a single thematic arena like “transparency” (e.g.: Sunlight Foundation) nor to a single geographic purview (e.g.: US Federal Government or New York State Government), nor be focused within a specific government service sector (e.g.: Labor, Motor Vehicles, Tax), nor that is focused on a particular technology stack (e.g.: Drupal for Government).  Rather, such a non-profit technology organization or consortium would:

  1. Map the the virtual space of government IT applications (ranging from procurement and contract management, to payroll and other business applications, to citizen identity management, to CMS to CRM to more niche applications like news clippings services and legislative research tools);
  2. Find open-source licensed code that is being developed within the public sector to address these application needs and that could deliver value for a wide range of public sector entities;
  3. Do the hands-on work to generalize the code so that it is broadly useful and productized as much as practical;
  4. Publicize the availability of the new open-source products within the government (as customer) and public sector IT consulting services communities;
  5. Provide support and maintenance of the code for its public sector consumers and contributors;
  6. Maintain roadmaps for, and convene multi-institution developer communities around, specific major areas of opportunity for ongoing collaborative software innovation.
  7. Play a role in the planning and build-out of government clouds, app stores, and feature servers.

Such an entity, once fully realized and effective over a period of years, I believe could yield hundreds of millions of dollars of tax dollar savings worldwide on public sector software development and licensing annually.  It could also significantly expand the size of the public sector market addressable by small and medium-sized IT consulting firms by moving dollars spent from software licensing to customization and support, and by allowing small engineering teams from separate companies and institutions to more easily collaborate to achieve large scale engineering capacity when required.

In other words, such an effort might well  reduce government IT costs, increase the capacity for government entities to collaborate with one another through technology, increase competition in the private sector for government IT contracts, and increase the likelihood that smaller businesses can provide services higher in the food chain of government IT contracts.

Organizations that I hope will look at taking on part or all of this opportunity include Code for America, the Open Planning Project, the World Bank, ExpertLabs, and perhaps the Ford Foundation’s Effective Government Program.

Standard
colab, nasa, reinventing government, second life

How Online Organizing in ’04 and ’08 Can Improve our Federal Government in ’09

Recently I was asked to reflect on how the lessons of online organizing by those of us who worked in the 2004 Presidential campaign have impacted not only the 2008 Presidential campaign (in which Dean ’04 and Clark ’04 veterans teamed up to create Blue State Digital, the technology backbone of Obama’s online operation), but also the Federal Government, over the past four years.

Many 2004 veterans have been working in the realm of making government more open in order to enable watchdog oversight of it. I have been working more in the realm of trying to make government more efficient and effective through technologies and organizing techniques that promote openness. I’m personally mostly focused on the cultural and policy side of things– trying to get people inside NASA used to being more open and sharing by default rather than only when explicitly forced to. There is also a great deal of work being done by reformers in the CIO’s offices and elsewhere on the communications technology side of NASA’s operations. They’re working on open APIs, open-source licenses, etc. I’ve told a bit of this story, in the context of NASA, in several presentations over the past year. Here below I’ve attempted to break down the problems, implications and solutions I see in a more structured format, again using examples we have encountered at NASA.

Note that none of these observations below are specific to NASA… They apply to any large government bureaucracy, and we are working with our change agent peers in other Agencies as well. We simply have the luxury/curse at NASA of a high-profile brand and significant public interest and goodwill to use as a lever for this change.

I. INTERNAL COMMUNICATION / COLLABORATION IS INEFFICIENT:

EXAMPLE:

  • no internal searchable database of people, projects, skills and technology assets

IMPACTS:

  • internal inefficiency and redundancy; internal competition for resources and a culture of sequestering information because having information that no one else has is perceived as having power

SOLUTIONS:

  • reforming human resources policy to permit and encourage more open communication (internally and externally) and bottom-up innovation, and reforming management structure to create a more flat more networked organization
  • foster cultural change, including renovating NASA’s physical plant to create inspiring workspaces that foster openness and collaboration
  • creation and implementation of systems to capture knowledge and make it searchable

II. EXTERNAL COMMUNICATION IS CONTROLLED, CENSORED, AND UNIDIRECTIONAL

EXAMPLES:

  • slides for any Powerpoint presentation to be given to a public conference are supposed to be submitted for review well in advance to make sure that no sensitive information is included in them, rendering it onerous to speak openly or to include recently updated information
  • policies for NASA employees to spend their own time working on other projects, communicating through social media about their ideas and work, etc. are restrictive and at best fuzzy, and the burden of proof rests on the employee to prove WHY they should be able to communicate with the public, rather than the burden of proof resting on the Agency to prove why not
  • NASA.gov reaches millions but is all processed edited moderated content; very difficult to mash this content up and re-share it, and no opportunity for user-generated content either from the public or from a broader array of NASA employees than just authorized Web Content Managers.

IMPACTS:

  • less public interest and awareness and inspiration and educational benefit than otherwise possible, because content consumption is passive
  • NASA unable to benefit from the innovation and work cycle leverage that could result from leveraging the goodwill, technical skills, time and creativity of members of the general public, and entrepreneurial private sector
  • NASA has difficulty attracting and retaining talent that is used to working in a more open environment in the private sector

SOLUTIONS:

  • agency-wide deployment of the Web 2.0 communication tools, communications policies, and processes used by the world’s leading private technology enterprise
  • build communities and create formal processes to leverage the time and skill of these communities for practical benefit to NASA
  • highlight and build on the few examples of successful crowdsourcing at NASA
  • create sustainable professional relationships between NASA and non-NASA personnel that shift NASA’s internal culture through co-working and open-space format events
  • shifting the budget and skillset of NASA Strategic Communications staff to focus on encouraging, training and supporting non-StratCom staff in their public communications role, including hiring staff with corporate blogging and online organizing skills
  • set communications policy that mandates open publication of all internal Agency communications such as meeting minutes, absent demonstrable and internally verified need to maintain confidentiality; shift the burden of proof from the need to show that information is “safe” to publish, to the need to show the information “is not safe” to publish.

III. KNOWLEDGE, DATA, AND IP CANNOT EASILY BE SHARED

EXAMPLES:

  • NASA hires contractors to write code and doesn’t mandate that is be open-source and often doesn’t even acquire the rights to modify, repurpose, or release that code
  • IP created within NASA is unknown and unsearchable internally, let alone externally, and it is extremely labor intensive and relationship-dependent for internal business development staff to collect data, identify IP licensing opportunities, and execute those licenses
  • petabytes of data collected by NASA that is legally in the public domain is extremely difficult to find, search, interpret, and share, due to slow data processing and archiving and limited APIs

IMPACTS:

  • the inability to get more eyes on code eliminates an opportunity to reduce the likelihood of failures such as the Mars Climate Orbiter explosion
  • NASA pays more $ for code to be written by contractors than it would have to if it leveraged existing open-source projects (including its own)
  • NASA returns less value to the taxpayers because IP assets aren’t easily licensed or contributed to the public domain where they could yield ancillary benefit to society

SOLUTIONS:

Standard