Software Freedom Can Avoid the Looming Dystopia
byon February 14, 2017
I encourage all of you to either listen to or read the transcript of Terry Gross' Fresh Air interview with Joseph Turow about his discussion of his book “The Aisles Have Eyes: How Retailers Track Your Shopping, Strip Your Privacy, And Define Your Power”.
Now, most of you who read my blog know the difference between proprietary and Free Software, and the difference between a network service and software that runs on your own device. I want all of you have a good understanding of that to do a simple thought experiment:
How many of the horrible things that Turow talks about can happen if there is no proprietary software on your IoT or mobile devices?
AFAICT, other than the facial recognition in the store itself that he talked about in Russia, everything he talks about would be mitigated or eliminated completely as a thread if users could modify the software on their devices.
Yes, universal software freedom will not solve all the worlds' problems. But it does solve a lot of them, at least with regard to the bad things the powerful want to do to us via technology.
Supporting Conservancy Makes a Difference
byon February 13, 2017
There are a lot of problems in our society, and particularly in the USA, right now, and plenty of charities who need our support. The reason I continue to focus my work on software freedom is simply because there are so few focused on the moral and ethical issues of computing. Open Source has reached its pinnacle as an industry fad, and with it, a watered-down message: “having some of the source code for some of your systems some of the time is so great, why would you need anything more?”. Universal software freedom is however further from reality than it was even a few years ago. At least a few of us, in my view, must focus on that cause.
I did not post many blog posts about this in 2016. There was a reason for that — more than any other year, work demands at Conservancy have been constant and unrelenting. I enjoy my work, so I don't mind, but blogging becomes low priority when there is a constant backlog of urgent work to support Conservancy's mission and our member projects. It's not just Conservancy's mission, of course, it's my personal one as well.
For our 2016 fundraiser, I wrote last year a blog post entitled “Do You Like What I Do For a Living?”. Last year, so many of you responded, that it not only made it possible for me to continue that work for one more year, but we were able to add our colleague Brett Smith to our staff, which brought Conservancy to four full-time staff for the first time. We added a few member projects (and are moving that queue to add more in 2017), and sure enough — the new work plus the backlog of work waiting for another staffer filled Brett's queue just like my, Karen's and Tony's was already filled.
The challenge now is sustaining this staffing level. Many of you came to our aid last year because we were on the brink of needing to reduce our efforts (and staffing) at Conservancy. Thanks to your overwhelming response, we not only endured, but we were able to add one additional person. As expected, though, needs of our projects increased throughout the year, and we again — all four of us full-time staff — must work to our limits to meet the needs of our projects.
Charitable donations are a voluntary activity, and as such they have a special place in our society and culture. I've talked a lot about how Conservancy's Supporters give us a mandate to carry out our work. Those of you that chose to renew your Supporter donations or become new Supporters enable us to focus our full-time efforts on the work of Conservancy.
On the signup and renewal page, you can read about some of our accomplishments in the last year (including my recent keynote at FOSDEM, an excerpt of which is included here). Our work does not follow fads, and it's not particularly glamorous, so only dedicated Supporters like you understand its value. We don't expect to get large grants to meet the unique needs of each of our member projects, and we certainly don't expect large companies to provide very much funding unless we cede control of the organization to their requests (as trade associations do). Even our most popular program, Outreachy, is attacked by a small group of people who don't want to see the status quo of privileged male domination of Open Source and Free Software disrupted.
Supporter contributions are what make Conservancy possible. A year ago, you helped us build Conservancy as a donor-funded organization and stabilize our funding base. I now must ask that you make an annual commitment to renewal — either by renewing your contribution now or becoming a monthly supporter, or, if you're just learning about my work at Conservancy from this blog post, reading up on us and becoming a new Supporter.
Years ago, when I was still only a part-time volunteer at Conservancy, someone who disliked our work told me that I had “invented a job of running Conservancy”. He meant it as an insult, but I take it as a compliment with pride. In fact, between me and my colleague (and our Executive Director) Karen Sandler, we've “invented” a total of four full-time jobs and one part-time one to advance software freedom. You helped us do that with your donations. If you donate again today, your donation will be matched to make the funds go further.
Many have told me this year that they are driven to give to other excellent charities that fight racism, work for civil and immigration rights, and other causes that seem particularly urgent right now. As long as there is racism, sexism, murder, starvation, and governmental oppression in the world, I cannot argue that software freedom should be made a priority above all of those issues. However, even if everyone in our society focused on a single, solitary cause that we agreed was the top priority, it's unlikely we could make quicker progress. Meanwhile, if we all single-mindedly ignore less urgent issues, they will, in time, become so urgent they'll be insurmountable by the time we focus on them.
Industrialized nations have moved almost fully to computer automation for most every daily task. If you question this fact, try to do your job for a day without using any software at all, or anyone using software on your behalf, and you'll probably find it impossible. Then, try to do your job using only Free Software for a day, and you'll find, as I have, that tasks that should take only a few minutes take hours when you avoid proprietary software, and some are just impossible. There are very few organizations that are considering the long-term implications of this slowly growing problem and making plans to build the foundations of a society that doesn't have that problem. Conservancy is one of those few, so I hope you'll realize that long-term value of our lifelong work to defend and expand software freedom and donate.
Why I Support Conservancy—and Joined Its Board
byon February 8, 2017
When Karen first approached me about joining Software Freedom Conservancy’s board, I tried to think about when I first became aware of the organization. I think it probably involves some non-profit law geeking out somewhere at a conference. As someone who has started and been involved in a few non-profits in their early days I think the services Conservancy provides to Free and Open Source Software (FOSS) projects are crucial. Many groups simply want to focus on developing software, rather than the legal and infrastruture tasks required to set up an entire legal entity. It adds another layer of complexity beyond simply organizing code and humans towards a common goal. This is one of the reasons I decided to join Conservancy’s Board of Directors.
To make the “F” in FOSS truly free we need people to be able represent the groups making the software we want the world to use. The only way to do that is to get more people involved. Supported, paid internships is part of the way to make this happen. Conservancy is the home for Outreachy and a vital part of this work. I’m delighted I can support that, hopefully making it easier for others to learn and get involved than it was for me.
I hope you are able to help support us in our fundraising drive and can afford to give this year. Currently an anonymous donor is matching 150 Supporter sign-ups and we have plenty of spots left to go. Will one be you? My Supporter sign-up is already matched!
Looking Back on Homebrew’s First Year with Conservancy
byon February 2, 2017
This series covers new developments and exciting projects taken on by Conservancy member projects. To learn more about Conservancy member projects, or the non-profit infrastructure support and services offered by Conservancy, check out Conservancy’s Projects page. Please support Conservancy so we can continue to help all this important software.
There’s an app for that.
Need a way to download and save that cute cat video from YouTube so you can watch it offline? There’s an app for that. Want to collaborate with others using GitHub? There’s an app for that, too. But neither are in the App Store. Every day, hundreds of thousands of Mac users turn to Homebrew to download one of more than 3,000 useful software packages for their desktops and laptops that Apple does not include in its operating system and can’t be found in the App Store.
Since Max Howell began Homebrew in 2009 with the goal of creating an efficient package manager, over 6,000 people have contributed to the project. Max built the package manager to rely on software and libraries that come preinstalled in OS X and chose to limit support to recent versions of the Mac operating system so that the packages could be optimized as much as possible. Max delivered an early implementation and shepherded the project through 2013.
Mike McQuaid started contributing to Homebrew because he was an avid user. After employing Homebrew to outfit his work laptop with vital FLOSS software, he saw that there were ways that Homebrew could be improved. Mike rose from occasional contributor to maintainer to eventually become the project’s lead maintainer. Mike coordinates the technical aspects of the project, manages the vibrant community of volunteer contributors to the project and serves as Homebrew’s primary liaison with the Software Freedom Conservancy.
Software Freedom Conservancy recognized Homebrew’s technical and social successes and invited them to join as a member project in 2016. Software Freedom Conservancy was excited that they accepted the invitation and is proud to support them.
Mike was kind enough to spend some time answering questions about the project’s past success and its future goals.
We began the interview talking about the importance of having Homebrew join Software Freedom Conservancy. “I’ve been a fan of Software Freedom Conservancy for a long time thanks to using several of their member projects. Bringing Homebrew into Conservancy helps provide long-term security to the trickier financial and community aspects of Homebrew.” For example, Mike has been worried about the contingency plan for Homebrew so that its existence could outlive any single individual. Software Freedom Conservancy provides legal, fundraising and organizational support to this end.
On the technical merits, Mike described Homebrew’s cutting-edge architecture, implementation, and development practices. Every application available through Homebrew is described by a Formula. Each Formula is Ruby code and the process of adding and modifying Formulae is coordinated with Git. If a contributor wants to add a package for other Homebrew users to download and install, they can simply write a Ruby script and send a pull request to one of Homebrew’s maintainers.
Mike said that thanks to using Ruby and Git for describing Formulae and facilitating code changes, respectively, new contributors can make an immediate, positive impact on Homebrew. Using a popular language like Ruby and building a smooth workflow based on Git makes it easy for Homebrew maintainers and contributors to keep all of its Formulae up to date. Every day new features are added, bugs are patched and security vulnerabilities closed in Homebrew packages. If the process for updating Formulae was not as well designed as it is, Homebrew’s users could be stuck with outdated and insecure software.
The Homebrew community has spent significant time and energy building and implementing a continuous integration system. Continuous integration is a software development practice to test software for bugs every time new code is added. Every update to a Formula involves a modification to Homebrew’s code. Having an automated system to check Homebrew’s code every time a package is updated or added gives Homebrew’s developers assurance that the software is always ready for end users.
While Homebrew benefits from using the latest and greatest tools and techniques of FLOSS software development, it’s the active and vibrant community that really drives progress. Community is a very important part of Homebrew but such a positive, supportive, diverse community does not just happen. It takes leadership and Mike takes that role seriously.
In our interview, Mike talked extensively about the project’s commitment to community. Under his leadership, the project has established a code of conduct for its participants and created policies to encourage users to become committers, contributors to become maintainers and maintainers to become project leaders. Mike helped Homebrew create its code of conduct early on because he knew it would help create a more diverse community. While the code of conduct can be used as a tool to remove the rare disruptive member, it serves mostly to make explicit the community’s expectation that its members are to be respectful and welcoming to everyone who wants to join. “Homebrew is probably a little more diverse than your average open source project but it’s still woefully unrepresentative of society as a whole,” Mike said. “Homebrew has chosen to be proactive about diversity because studies have shown diversity makes better software and we don’t want anyone to feel alienated or excluded from our community based on who they are.”
This year Homebrew participated in the Outreachy internship program. Mike and the Homebrew team mentored Andrea Kao who worked on Homebrew’s continuous integration and testing system. Andrea said about her experience, “… [T]he Homebrew maintainer-mentors have all been so incredibly generous, encouraging, kind, and helpful to me over the past couple weeks and months. I’m so thankful for this generosity and for nabbing the Outreachy internship. In the space of two months, I’ve become an active member of several wonderful, worldwide communities—the community of Homebrew contributors, the Outreachy community, and the wider open-source software community.”
The project’s technical implementation and architecture and its commitment to building a positive, active community around Homebrew are evident from the number of its users and participants and the way they talk about the project. It is regularly among the top projects on GitHub. When version 1.0 was announced, a user commented, “[Homebrew is] great because the community is so vibrant, the user experience is so well thought out… it’s actually both a GitHub and Ruby showcase.”
Mike finished our interview by describing the project’s goals for 2017. The first goal is to improve support for installation of specific legacy versions of applications. There are many reasons why a user might need an older version of a package—to satisfy a dependency or to use a feature that no longer exists, for example.
The second goal is to improve Homebrew’s continuous integration system. As described earlier, having a continuous integration system is vital for a project like Homebrew whose code changes on a regular basis. Right now the system checks new code to make sure that it compiles. That’s a good start. However, new code could introduce bugs that are only evident when the software is run. In 2017, Homebrew will expand its continuous integration to test runtime functionality.
Conservancy is proud to have Homebrew as a member project and is excited to see what the future brings for the FLOSS package manager, its users and its community.