Open source

GitHub opens up about its relationship with ICE

GitHub

In a post on the GitHub blog, CEO Nat Friedman publicly addressed the company’s business relationship with U.S. Immigration & Customs Enforcement, its opinion on the current administration’s immigration policy and “the principles by which we make decisions in these areas.”

The issue is that ICE renewed its purchase of GitHub Enterprise Server for $200,000. GitHub says it will honor the contract, but will continue its advocacy against the “administration’s terrible immigration policies” and will donate $500,000 “to nonprofit organizations working to support immigrant communities targeted by the current administration.”

From the post:

Like many Hubbers, I strongly disagree with many of the current administration’s immigration policies, including the practice of separating families at the border, the Muslim travel ban, and the efforts to dismantle the DACA program that protects people brought to the U.S. as children without documentation. The leadership team shares these views. These policies run counter to our values as a company, and to our ethics as people. We have spoken out as a company against these practices, and joined with other companies in protesting them.

We respect the fact that for those of us in the United States, we live in a democratic republic in which the public elects our officials and they decide, pursuant to the rule of law, the policies the government will pursue. Tech companies, in contrast, are not elected by the public. But we have a corporate voice, and we can use our voice and our resources to seek changes in the policies that we oppose. As a matter of principle, we believe the appropriate way to advocate for our values in a democracy is to use our corporate voice, and not to unplug technology services when government customers use them to do things to which we object.

We believe that this principled approach will also be impactful as a matter of pragmatism. Attempting to cancel a purchase will not convince the current administration to alter immigration policy. Other actions, such as public advocacy, supporting lawsuits, meaningful philanthropy, and leveraging the vast resources of Microsoft will have the greatest likelihood of affecting public policy. Our voice is heard better by policymakers when we have a seat at the table.

As software becomes more important in the world, we will continue to face increasingly challenging political and social questions. Even with careful thought, we will sometimes make mistakes. My hope is that we can be an organization that works hard to make principle-based decisions, that regularly reflects on and remains willing to refine its principles, and that recognizes the inevitability of interpersonal disagreement around those principles and challenges that constructively. It’s incumbent on all of us to find ways to cohesively navigate the increasingly turbulent times we find ourselves in.

More: GitHub and US Government developers

GAO tells Defense Department to ‘fully implement’ open source pilot program

Photo: U.S. Defense Department
Photo: U.S. Defense Department

The U.S. Government Accountability Office released a report assessing the lackluster status of the Defense Department’s open source pilot program, saying that until the agency effectively implements this, “the department will not be positioned to take advantage of significant cost savings and efficiencies.”

The Office of Management and Budget issued its federal source code policy in August 2016 requiring federal agencies to improve the way they buy, build, and deliver software solutions through the use of open source code. Part of the policy includes implementing agency-specific open source software pilot programs. The National Defense Authorization Act for Fiscal Year 2018 mandated that DOD initiate its pilot by June 2018.

Key excerpts:

A program manager from the Defense Information Systems Agency reported that the agency had identified an OSS solution that provided more functionality at less cost than the commercial solution provided through a vendor. The program manager explained that when the agency implemented the new OSS solution, it realized $20 million in annual savings over the commercial solution that had been maintained by a vendor.

A program manager from the Defense Information Systems Agency reported that the selection of an OSS solution rather than a COTS solution contracted through a vendor had resulted in increased efficiency. The official explained that the use of the OSS solution allowed the agency to develop and maintain in-house skills that would not have been available had they opted to contract with a vendor providing a skilled workforce.

In interviews with GAO, DOD personnel expressed mixed views on open source software with respect to security, however, “an official in the Office of the Assistant Secretary of the Air Force for Acquisition, Technology, and Logistics reported that, as long as OSS is properly vetted to ensure it is secure and free from malware, it offers an opportunity for the department to achieve cost savings and efficiencies.”

According to GAO, DOD says it will “update its OSS memorandum by the end of the 2019 calendar year and issue it as policy.”

Full report: DOD Needs to Fully Implement Program for Piloting Open Source Software

Code.gov gets a U.S. Web Design System refresh

Screenshot of Code.gov

Code.gov — the platform that makes it easier to find open source code developed by the U.S. Government — announced updates that includes aesthetics aligned with the U.S. Web Design System and better adherence to accessibility standards.

We are thrilled to begin this new chapter of innovation and creativity with you. Our new approach to a definitive online presence provides Code.gov with a differentiated visual identity system to complement updated content and streamlined user resources. By no means, though, does this mean that this website is “done” and will not change. We have said before that “Technology is always in a state of flux…” and we believe in always improving our platform in order to provide a better experience for you. We will continue to review and update key elements of our website as the Internet evolves. This redesign is part of “America’s Code” so that we can offers everyone a chance to fulfill a civic duty on a digital platform, one line of code at a time.

Read more about the updates on the Code.gov blog.

Part 2: Re-imagining the California DMV website

It’s been a week since I published my thoughts on re-imagining the California Department of Motor Vehicles website. During that time, the issues I had with not receiving my REAL ID were resolved and the process inspired me to think and prototype a little more on the first iteration.

My personal user experience

Through the entire process — experiencing mail, field office, online, phone (with three different departments) and social media interactions — I’ve gained a more holistic insight into how others most likely interact with DMV.

General observations:

  • Phone: My interactions with all three operators were pleasant and succinct. The hold times were long. The practice of informing callers that all operators are busy and to call back at a later time is a customer support fail. The auto call-back feature used by the main line is something that should be incorporated across all departments.
  • Social: I was pleasantly surprised by the Twitter follow-up and, in hindsight, I wish I would have pursued this route just to see how effective the support there is.

Prototype update

I made some minor updates to the prototype, including the homepage, beta bar and initial concept for a tertiary page.

Homepage

Homepage

I made the call-to-action links more app/kiosk-like. As mentioned in my previous post, this aesthetic would force a more pithy approach on the content front.

Beta bar

Beta bar

I added a ‘beta bar’ explaining to users that this is a prototype with a link to details as well as the official DMV website. It’s ubiquitous without causing too much aesthetic distraction.

Tertiary page

Tertiary page

A new tertiary page mock-up includes an accordion approach to content, allowing for a larger amount of content to be included on a page without causing it to be overwhelming or having more additional pages than neccessary.

I created an issue to consolidate REAL ID content from the official DMV website onto this page at a future date. This will serve as an example of how content on the current site can be better consolidated and presented, as there are several documents and pages that could easily merge into just one.

DMV digital innovation ideas

Go beta

Having a public beta that starts small, iterates based on user activity, research and feedback, is now the status quo, and is the safest approach to launching a new website, particularly one with large-scale reach.

The U.S. Department of Veterans Affairs did this with va.gov. Previously, va.gov was the flagship website for VA, and vets.gov became a public beta, leveraging an open and agile approach to development. Vets.gov is now VA’s flagship website.

If VA, one of the largest federal government agencies can do this, so can California DMV.

Open the data

California DMV provides some data around offline user experience in the form of wait times. While it’s not in an extensible format, it is interesting and helpful, and the fact that the agency is publishing any is encouraging.

Having access to website traffic would be incredibly insightful in helping to conceptualize more on the prototype.

DMV could easily do this through a tool like Google Data Studio. This would take a few hours to stand up and provideto make a public dashboard of this information. Some examples of using Data Studio to display Google Analytics are here, here, here and here.

An alternative would be to publish this information, and the wait time data, in open formats at data.ca.gov.

Code DMV

It would be inspiring to see the state host an open space, civic-focused Code DMV event that incorporated user testing and rapid prototyping to help build a beta DMV website.

An event like this would go a long way in showing that DMV is embracing a culture of open, proactively working with the community to re-imagine how it can better serve the residents of California. It would also align with the state’s new Code California initiative, “an open collaboration between agencies, industry technology partners and civic technologists working to code a more innovative, collaborative and effective government that best serves the people of California.”

Collaborate

If you have ideas or want to build on the prototype, add your issues or comments in the GitHub repository or fork it and contribute back.

Liquid democracy: Blockchains and governance in the post nation-state era

Photo: Democracy Earth Foundation
Photo: Democracy Earth Foundation

Intrigued by what Democracy Earth Foundation is doing to leverage the power of blockchain to empower a different approach to democracy, I asked the team to share more about its work.

What is Democracy Earth Foundation?

Democracy Earth Foundation is a California 501(c)(3) non profit that is building a blockchain-based, tokenized liquid democracy governance platform. We are an international team building in an open source environment.

What are the problems you’re trying to solve?

Our world is facing increasing globalization, privatization and digitalization: these forces are changing what it means to be a citizen and a human on earth. These changes have manifested primarily in the economic and political sphere, where vast inequality has created an unsustainable crisis of global proportions.

In the economic sphere, 600 million people still live on less than two dollars a day. While inequality between nations is gradually falling, it remains extraordinarily high. Inequality within countries is also rising – a condition economists like Thomas Piketty warn will not naturally correct itself. There are many reasons for this rising inequality within countries — in developed nations globalization has mainly rewarded the wealthy class while hurting the lower classes with manufacturing outsourcing. A lower share of profits is going to labor than to capital, especially in the tech sector. This precarious economic situation will only worsen with the advance of  automation.

Meanwhile, in the political sphere, democracy is in global recession. Citizen voices are either suppressed under authoritarian regimes, or depressed by lack of financial and political capital which marginalizes participants. According to Freedom House, 55% of the world’s population live in countries that are deemed “not free.” Even in democracies, citizens who feel they are not represented well lack the means to change this. Participation rates are low in elections and money seems to control every aspect from how districts are drawn, to which political demands get answered. We view this political breakdown primarily as a liquidity problem – people who most need political change do not have the resources to bring it about – as well as a legitimacy problem, because centralized and easily corruptible ledgers of political institutions do not create trust or a desire to engage among citizens.

We aim to upgrade democracy to the Internet era, formalizing humans on blockchains and enabling new forms of participation and representation that enable global citizens to address the problems that nation-states and digital monopolies have proven inadequate for the task.

How does cryptography and blockchain solve these?

Liquid democracy – in combination with blockchain technology – is at the core of the Democracy Earth governance platform. Liquid democracy is a system that allows for both direct democracy and representative democracy. Instead of having representatives based on territory who vote on all issues for their constituents, liquid democracy allows individuals to choose representatives that are experts on narrow policy issues or members of their social network. If they feel that their representative voted incorrectly or if they change their mind on the issue they can revoke that vote at any time. It creates a more flexible system that enables greater participation while still allowing for knowledgeable representation.

Liquid democracy has only recently become feasible. Any notion of delegating and revoking with paper ballots would be functionally impossible due to its sheer complexity, but the internet makes sending someone a vote, tracking how they used it, and revoking the vote if dissatisfied, very simple. Of course it is now common knowledge the internet is a highly insecure place to hold elections; there is substantial evidence that the 2016 US election was manipulated through hacked voting machines. Making elections more digital on the current internet would be foolish; centralization is fundamentally incompatible with democracy. The Democracy Earth network will be based on blockchain technology.

Blockchains allow for information to be stored in a decentralized manner that makes it functionally impossible to manipulate – in a word, incorruptible. A blockchain is a distributed ledger system. A ledger is a record or database full of data such as transactions or votes, and distributed means that this ledger is held in multiple places. This ledger is maintained by “nodes,” essentially computers running a program that is specific to that blockchain. A copy of the ledger is held on every node in the network. Anyone who downloads this program can view the ledger and know that the copy they are viewing will be constantly updated and checked against everyone else’s copy to ensure that they match perfectly. They are kept synchronized because all the nodes are connected to the internet and are able to update in real time.

These nodes use a special consensus algorithm to make sure that they all are holding a ledger with the same information and history, and to overpower this algorithm, someone would have to take control of more than half of the computing power (known as a ‘51% attack’) in order to convince the network to change this ledger or to add false information.

This is what makes blockchains so special. To change data in a centralized source, like standard websites, someone only has to gain access to one point; in contrast, with a blockchain one has to overpower hundreds or thousands of points. While centralized sites keep their data and algorithms secret, with blockchains, anyone can view any transaction at any time.  This ‘permissionless auditing’ means anyone can audit the information to make sure it is accurate, without needing access provided by intermediaries.

Though blockchains store information publicly and are easy to audit, they still preserve anonymity. Recorded in the ledger are data alongside digital public keys. Every user has a pair of digital keys: a public one, which anyone can see but cannot trace back to the user, and a private one, which they use to access their data and they know is linked to the public key. This allows them to check the ledger to see that their data were recorded correctly, but makes it so others cannot see who conducted which transactions or cast which votes.

There’s a lot of instability, volatility even, around blockchain technologies, particularly bitcoin. Is this technology stable enough to support global currencies and democracies? If not, when can we be comfortable that they can?

This is a multi-part answer.

The first to address is that our platform is running on the Ethereum blockchain. The price of Ether (Ethereum’s currency) also fluctuates but it should be noted that our VOTE tokens are a separate token from Ether, and the Ethereum blockchain is just providing the security for our platform and our platform is essentially a structure built on top of it. What is more important to focus on than the fluctuations in price, which are mainly driven by speculation not any real changes in the technology, is the security of a blockchain itself. Both Ethereum and Bitcoin are highly secure blockchains with many validating nodes and robust communities of users and developers. Even with the price fluctuating, using these ledgers to store information — such as votes as we propose to do — is completely doable.

There is a question about scaling. At the present moment, the Ethereum network would not be able to support the number of users and votes associated with a global democracy. That being said, every blockchain based project that aims to use the Ethereum blockchain faces this same issue of scaling which means that huge investments of time, money, and intellectual effort are going into fixing this problem right now. Multiple solutions for scaling have already been proposed and are in the process of being implemented.

What is Sovereign and how does it work?

Sovereign is the working name of the Democracy.Earth liquid democracy governance software. It is a platform that allows users to propose ideas, create votes, debate issues, vote directly and delegate (as well as revoke) their vote. It is censorship-resistant; voters neither give away personal information to participate, and can vote anonymously on any proposal for which they meet the requirements. Our beta release is now on the Ethereum Rinkeby testnet at testnet.democracy.earth, where you can experiment with censorship-resistant voting, debate and token delegation. The platform now has limited functionality, but you can vote with  any token – our own VOTE tokens but also any ERC20 token(s). Results of polls are transparent and verifiable by all participants, not requiring an intermediary or vulnerable to any authority hacker. In addition to this testnet sandbox the platform is being used to provide governance among crypto communities like Decentraland. One interesting current use case of the platform can be found at Blockstack, where the Democracy Earth platform is implemented as part of the governance to the innovative App Mining program, helping to allocate a subsidy of $100,000 each month among dapp builders being voted on among the community.

What is the ‘Social Smart Contract?’

The Social Smart Contract is Democracy Earth Foundation open source white paper released in 2017. The language is not accidental – according to theorists such as Thomas Hobbes and John Locke,  the social contract is an implicit agreement among the members of a society to cooperate for social benefits – i.e. the origin government itself. The social smart contract is similarly an agreement – and protocol – for  how to implement this cooperation in the digital age. It puts the importance of blockchain technology and our governance protocols in the context of the challenges to democracy and human flourishing that we are witnessing in our world today, as well as a detailed explanation of our platform and its implementation. It is complemented by our Token Economics white paper, that was released in July 2018 at economics.democracy.earth.

You’re a big proponent of open source technologies? Why is open source important to your work and a healthy democracy?

The platform has to be open source so that the software is available to anyone for free and the code is transparently available for anyone who wants to see it, analyze it or modify it.

Open source is both an ethos and a series of procedures that are used for developing and updating code. It is an ethos because it is used by people who believe that software should be available for free, and have a truly democratic and meritocratic process of creation.

We believe this is the right way to build software, and also that it  just makes for better software, especially governance software. It is a series of procedures, because it involves making our code available on an easily accessible website, for example GitHub (now owned by Microsoft), and allowing for others to copy it and propose changes or additions to it.

How can those excited about your work get involved?

There are many ways they can help.

The first and foremost is to join us on our platform: testnet.democracy.earth – you can get your test tokens and a simple guide on what’s involved with a Web3 login to joining our  censorship-resistant platform on the Democracy Earth Medium publication, Hacktivism, at the article “testnet.democracy.earth is LIVE!” where they can create a profile, pose questions and votes, experiment on it, and invite other users to it join.

Next, if they have a particular vote or decision that they are involved with with any organization, they could use our platform to conduct it. For example, a board vote, a school election, a club election, or even a county or city election – they should reach out to the foundation at hello@democracy.earth to learn more about conducting a pilot.

Finally, they can look into becoming an ambassador meaning an individual who promotes the mission of Democracy Earth to the wider community. Or if you are at a university, consider becoming a student ambassador. Information about the program can be found at the Democracy Earth Student Ambassador repository in GitHub here.

If you are a developer, reach out to the development team at code.democracy.earth, and if you want to volunteer in any way, contributing your marketing, editing, writing, video, business or fundraising skills in some way to the foundation, simply reach out at hello@democracy.earth with your ideas, and someone will get right back to you.

You can usually interact with a team member on our social channels in Slack (chat.democracy.earth), Medium (words@democracy.earth) or on Twitter @democracyearth or Facebook.

Canada adopts open source mandate for government software

Canada flag (Photo: Caroline Ingram)
Canada flag (Photo: Caroline Ingram)

The Government of Canada has issued an information technology directive on business, information, application, technology and security architectures that includes a mandate to prioritize open source software. 

Excerpt:

C.2.3.8 Use Open Standards and Solutions by Default

C.2.3.8.1 Where possible, use open standards and open source software first

C.2.3.8.2 If an open source option is not available or does not meet user needs, favour platform-agnostic COTS over proprietary COTS, avoiding technology dependency, allowing for substitutability and interoperability

C.2.3.8.3 If a custom-built application is the appropriate option, by default any source code written by the government must be released in an open format via Government of Canada websites and services designated by the Treasury Board of Canada Secretariat

C.2.3.8.4 All source code must be released under an appropriate open source software license

C.2.3.8.5 Expose public data to implement Open Data and Open Information initiatives

Read the full directive.

U.S. Defense Department escalates commitment to open source software

Photo: U.S. Defense Department

Photo: U.S. Defense Department

The U.S. Defense Department is escalating its commitment to open source software with a proactive push for agency participation to publicly share custom-developed code.

In an October memo DoD says:

“The DoD must reform its processes, adopt agile acquisition and software development practices and more diligently contract for, license, mark, receive, and release our custom-developed source code. We must do this to create better technical outcomes for our users, improve our security posture, and foster a culture that will attract software talent to the Department.”

The memo states the departments’s chief information officer and the Defense Digital Service are collaborating to support this effort, including a 30-day timeline to inventory code, establish points of contact and authorizing officials, and develop less restrictive license designations.

On its website dedicated to open source adoption, code.mil, DoD says:

Modern software is open sourced software (OSS). The creative contribution of individual developers to help solve complex problems of impact is largely untapped by DoD. We must more actively participate in the open source and free software communities if we are to truly reap the benefits of OSS.

The U.S. Government released its Federal Source Code Policy in July 2016. According to the policy compliance dashboard, DoD is currently listed as non-compliant.

DoD re-launched code.mil in February 2017 and, according to code.gov, the department has 4,966 repositories on the code sharing platform GitHub.

California issues open source, code reuse policy

code.ca.gov

The California Department of Technology has set a new standard for state government technology offices, releasing an open source and code reuse policy “to better support cost efficiency, effectiveness, and the public’s experience with government programs.”

“Currently, when Agencies/state entities produce custom-developed source code, they do not make their new code broadly available for state government-wide reuse,” says CDT in a newly-issued technology letter. “These challenges have resulted in duplicative acquisitions for substantially similar code and the inefficient use of taxpayer dollars. Enhanced reuse of custom-developed code across state government can have significant benefits for taxpayers, including decreasing duplicative costs for the same code and reducing vendor lock-in.”

The new policy also establishes the creation of a state public code repository, located at code.ca.gov.

Related to this new policy, updates were made to the State Administrative Manual Sections 49844984.1 and 4984.2.

Read the complete technology letter.

Register for DKAN Open Data Summit

Government has very few true open source open data options, and DKAN is one of them.

For those passionate about cultivating a more sustainable, open source oriented open data community, the first DKAN Open Data Summit is scheduled for August 1, 2017, in Washington, D.C.

DKAN Open Data Summit will be held in tandem with Drupal GovCon, and you must register for the latter to attend the former.

DKAN currently powers several federal, state and local government open data platforms, including the U.S. Department of Health and Human Services, the state of California, Louisville and many others.

Register

(Note: CivicActions is the lead organizer of DKAN Open Data Summit. See disclosures.)