Snowdrift.coop History

Distinct from the simple summaries or intros elsewhere on the site, the following is a more complete record of our history as a reference. This page is not really a narrative of the history, it is a more thorough archiving of reference items about our early development along with summary of more recent history.

Aaron’s preliminary idea developments

1996 - 2005: Aaron’s traditional music business experience, education

Aaron publishes CDs of original electronic music, then mixed format recordings, gets involved in barbershop harmony, classical music degree, and then full-time pop/rock band. Over this time, he transitions from complete believer in copyright to being overwhelmed by the hypocrisy and problems in classical, folk, and pop music worlds; issues of public domain, folk process, and pop-music covers; and the overwhelming competition in the oversaturated music business, especially the vast quantity of material becoming available on the internet.

In this world there is an unmanageable amount of information, ideas, art, etc. available. It is very easy to put out another web site, another CD, another thing for people to wade through before they find something truly marvelous, expressive, important, accurate, or useful.

While it is great to enjoy the creative process, we don’t need to share our every creation, our every thought, or our daily journal with the world. This “bulk” can degrade the quality of experience for everyone. It is easy to fill 800 TV channels with 24 hour programming if we accept mediocre quality. But it is that much more difficult to find the program that is beautiful, inspiring, and achieves deep and meaningful impact.

Many music recordings have wonderful ideas, beautiful melodies, and intense rhythms but poor mixing, sound quality, or performance. Many have superior sound, but lack in expressiveness. Many are unique enough to hold your interest just long enough to use up your time without achieving the vivacious effects of which music is capable. The same is comparable in any medium.

On the other hand, as a famous quote (attributed to a number of sources) says:

“The woods would be a very silent place if no birds sang except those who sang the best.”

It is wonderful to have a jam session with friends and enjoy the experience, but it doesn’t need to be recorded and shared with the world. Instead, let everyone find their own jam sessions and make their own experiences.

Still, there is no clear line between special, inspiring thoughts and meaningless bulk. These things are not black and white, they are just a matter of opinion. I try to follow these guidelines:

  • I value quality over quantity
  • I will be pragmatic and conscientious
  • I will work to continually improve my skills and understanding
  • I will continually revise and improve my work as much as possible
  • And finally, I will try to be aware of what is already available. If someone has written a fantastic book on something, I don’t need to write another book that might be as good. On the other hand, if I can offer something of real value that people may not otherwise be able to get, it is my responsibility to make it accessible.

The function of this site is threefold:

  1. provide information supporting my professional career
  2. provide the best of my music, information, writing, and other media that I feel truly is beyond “bulk.”
  3. provide links and assistance to help others who are struggling through the bulk to find sources of real depth and substance

I will only link to sites of friends or associates if doing so functions within one of those three categories. I will gratefully accept any and all feedback from anyone who wishes to help this site achieve these goals. I appreciate feedback (including picky editing suggestions including anything that will help get the ideas here presented more concisely), music comments, suggested links, and any other questions and comments written with an understanding of the goals presented here.

Thanks for visiting.

Peace, love, and kindest (and most humorous, playful, friendly, and sincere) regards,


Statement on credit, copyright, and plagiarism issues:

We are all influenced by all the information and sources and people around us. Virtually none of my ideas or writing or music could be truly described as “completely original.” I am grateful and thankful for all the sources that have taught and influenced me. I hope I can provide resources to others who I hope will build on them. I only ask that everyone else do the same in return.

The antiquated copyright laws we have in the United States are simplistic and reward particular structures of words, not ideas. The law protects specific melodies, but not melodic approaches. While I do not want to see someone claim my work as their own, I feel that restriction and control of information or art generally does more harm to society than good.

I simply ask everyone to be conscientious and honest. Thank you to those who respect that.


After discovering work by Rufus Pollock, founder of the Open Knowledge Foundation, Aaron writes an accessible summary of Pollock’s paper on optimal copyright length.

Over years of research since the initial post, this post has evolves into an essay and collection of resources. See the current complete essay: A Rational View of Copyright.

2012-01 Switching to GNU/Linux

After years of study, ever-growing appreciation for the public library, frustration with restricted access to research dividing those within the academic ivory tower from the outside world, and increasing frustration with Apple’s growing walled-gardens and related concerns, Aaron tries GNU/Linux.

Frustrated with the choice between high quality walled gardens (e.g. Apple) and rough confusing GNU/Linux world, Aaron keeps thinking about critical mass. If only all the people who pay for proprietary iPhone apps would instead give the same resources to free/libre/open projects…

Forming the Snowdrift.coop concept

2012-07 Developing ideas about funding systems

Researching many articles about the economics of Free/Open software, Aaron posts the following idea within a comment on a Power Base article about Fairware (a system to transparently report invested time and ask the community to compensate developers)

This discussion of fairware is great regarding the value of social contract and transparency where users understand what they are paying for. It’s grossly unfair when someone luckily gets a million buys of his $1 app while there are lots of other duplicates that just didn’t get the focus. The money just could have been allocated better than to randomly make someone unfairly rich and waste other people’s time.

I agree that there will always be freeloaders, but systems that discourage that are worthwhile. If you just get someone over the hump once, then they have a different self-image and are less likely to freeload in the future. This isn’t speculation, this is based on scientific research, such as from Dan Ariely (see his book Predictably Irrational)

I personally am more likely to donate when I can be part of a matched thing. I like feeling that we are all agreeing to donate instead of my volunteering without anyone else committing.

Anyway, the best solutions will have to be more systematic. When you or anyone else introduces novel ideas, there’s always an uphill battle to get people to bother paying attention. If this system were ubiquitous, everyone would deal with it.

Also, I don’t have the answer to this, but fair in some way ideally should reflect both capacity to pay (i.e. user wealth) and how many users there are. I guess I’m talking about matched payments or something. Like there should be a system where someone can commit to paying a certain amount for every other user who also pays a certain amount: “I’ll pay 1 cent for every other user who does the same, up to $35” for example. Thus, I’m not going to be a sucker and pay for everything and then everyone else is off the hook.

This could be complex to implement but this is a big aspect of fairness. It isn’t just developers getting paid, it’s payers having a fair burden instead of some donating and others freeloading.

2012-08 Proposal to Task Coach

Being especially inspired by the prospects for personal organizing software Task Coach, Aaron sends in his first substantial donation since getting into GNU/Linux. The developers send a personal reply:

Hi Aaron, Thanks for your donation for Task Coach. We appreciate it! Regards, Frank

Aaron replies:

I hope to donate more soon. I’m not wealthy, but I really appreciate Task Coach. If donating can help make it easier to continue development, I’ll consider more in the future. I just would like to figure out how to get the community to do more support too.

What do you think of the following proposal for a fundraiser?

  1. You clarify that more funding will make it possible for you to dedicate more time to Task Coach and/or hire another part-time developer.
  2. Propose matching donations instead of having just donors and freeloaders.

    I suggest something like this: “For every 10 users who agree to match me in this fundraiser, I’ll donate 1€, up to 25€” and make a big announcement about it. Thus, if 10 people agree, we each donate 1€, total 10€. If 20 people agree, we each donate 2€, for 40€. If 100 people donate, it’s 1000€. The exact numbers could be different. Maybe since different people have different wealth there could be levels for poor 0.5€ per 10 matching donors and max 12.5€; modest (my original numbers); and generous 2€ per 10 matches up to 50€. Obviously anyone could choose to donate separately, but the matching thing is much more encouraging. And you can’t let people choose their own numbers entirely or the idea of matching doesn’t work as well — although it could be okay to have an optional higher maximum, but not a lower one, aside from maybe the three wealth levels.

  3. Maybe offer that everyone who participates in the fundraiser gets an extra 10 votes for feature requests

P.S. I have a bunch of notes about bug reports and also about low-priority feature requests. I’m going to figure out how to join the bug report system soon. Regarding the low-priority requests, I don’t want to overwhelm you, and I do consider them lower importance than some of the big things. I didn’t care about them enough to add them and vote right now. But some of them are so simple they might be fixed in less than 5 minutes. Even though these are minor, little improvements might look good. They’d give you reason to put out new versions and get attention for that, and it’d give people the impression of more active development, and little improvements could help convince new users to try TC… so maybe low-priority but super easy is worth doing… would you like me to share these requests with you? Or to post them to the yahoo message board? Or just keep them to myself for now?

P.P.S. I noticed a number of online requests for iOS that I think you have already completed but aren’t marked as complete. I posted comments on them.

Frank replied:

If donating can help make it easier to continue development, I’ll consider more in the future.

It’s more a sign that people think Task Coach is valuable than a consistent source of income at the moment.

  1. You clarify that more funding will make it possible for you to dedicate more time to Task Coach and/or hire another part-time developer.

Hiring a part-time developer costs 1000’s of Euros per month. I don’t see that happening anytime soon. [Your proposal] sounds quite complicated. However I could see something like kickstarter work for a specific feature that lots of people want.

Frank goes on to explain that they already achieve regular development and have transparent development history over many years, that the best way to help would be to learn Python and start programming.

Further exchange about redundant feature requests leads to inviting Aaron to sort requests and bugs. After a bunch of such work, Aaron is invited to join the Task Coach team.

The final follow-up to the original thread from Frank is:

Good ideas never come alone (a Dutch saying). We’ve been contacted by two guys who want to run an experiment with crowdfunding a feature for Task Coach. I hope to be able to announce in a few weeks or so.

2012-09 Chat with David

Aaron mentions joining Task coach in chat with friend David Thomas, an experienced programmer who happens to be working on a household-chores web app. David likes Aaron’s ideas and offers to help build a website to do it.

One notable chat excerpt:

… David: come up with a name for it Aaron: So because we can’t automatically trust each other, there just has to be a way for me to make exactly what I just said: a contracted guarantee so everyone knows my intentions. But I want the same commitment from them David: and I’ll put together a site, and an embeddable widget Aaron: A name… Ok, awesome! Umm, hmm… David: “Communism” Aaron: Haha! sure… So I think the name should somehow indicate the prisoner’s dilemma sorta thing Like the point is “tit for tat” I’m cooperating if you are Ok, brainstorming ideas… TitTat David: snowdrift 3:33 PM http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#Iterated_Snowdrift Aaron: Fundmatch oh, hey, that’s interesting… huh David: yeah, if the name and a domain are reasonably available, I like snowdrift ’cause 1) it seems to actually describe it and 2) I like the notion of things piling up here ^_^ Aaron: Right, and it isn’t strictly that anyone loses anything ever. It’s just that it’s best when we all put in David: .io is available Aaron: what is .io? David: popular lol Aaron: ? David: British Indian Ocean but it seems to be like 2/3 of the sites that hit the front page of HN Aaron: HN? 3:37 PM David: .pro? Hacker News news.ycombinator.com Aaron: Good thing about snowdrift.com, snowdrift.org, snowdrift.net — all are innocuous and very clearly not what we’d do, so no confusion, no real competition 3:38 PM David: .coop is available Aaron: hmm David: but the approval process there is messy, IIRC Aaron: that’d only be if snowdrift service itself was a coop. But it could actually be a low-profit business… It’d compete with Kickstarter David: yes, but then, coop doesn’t mean not-business Aaron: true David: quite the contrary Aaron: And coop would TOTALLY go with the idea David: yeah Aaron: It could actually be part of selling the name 3:40 PM David: srslyguysyoushould.coop Aaron: It would seal the deal on the name having meaning David: true …

Snowdrift.coop development process

Following starting the project, lots of chats and research etc. Neither of us fully understood the ins and outs of licenses, policies, history, debates about terminology etc. As we reached out to people like the Open Knowledge Foundation and Free Software Foundation, people informed us of details about proprietary services, technical issues, etc. Every element since then has been a matter of complex discussions and research.

Summary of early development

After a long series of initial discussions between David and Aaron toward the end of 2012, some initial contacts were made to co-op organizing advisors and to various others. The concept of a steering committee was formed, and the initial recruited committee members were Nina Paley, Greg Austic, Mark Holmquist, David K. Levine, and Mike Linksvayer.

After initial discussion of the fundamental issues, concerns about how private or public to be at the early stage, and confusion about the details of the proposals, clarity of the vision developed by spring 2013. By that time, the concepts of project-in-project (meaning that we are a project in the system and every tool we find useful will be made available to all projects), the basic formula, the terminology, and the initial drafts of mission statements were worked out.

David got a full-time day job, so technical development slowed. After some clarity about the responsibilities for the steering committee, we had some turnover on the steering committee, with Mark, Nina, and David stepping down but remaining supportive informally. New committee recruit James Sheldon added a focus on governance, cooperative structure, and related ideas.

Then, we hired Kim Hoff as full-time project coordinator (and also joining the steering committee), and she and Aaron spend most of June through November 2013 working on better presentations, detailed plans, comprehensive writings, legal issues, bylaws draft, partnerships to pursue, research, more business plans etc.

By December 2013, Kim found more lucrative full-time employment elsewhere, but stayed on the committee. David finally finished the long process of shifting the initial code-base to an updated system based on the new vision that had developed earlier in the year. David’s younger brother Joe was brought on as a full-time intern, and Aaron took over all the project coordination while studying Haskell programming language to get involved in the code.


Joe provided some important technical updates but put in only part-time instead of full-time work. Aaron attended LibrePlanet in March in Cambridge and met many other supportive folks. Despite continued progress, development on the site progressed only slowly as few knowledgeable programmers were putting in hours.

Some interest from the Open Source Musicians community led to some new volunteers, notable Jason (JazzyEagle @ freenode.net) and substantial time spent with newbies making sense of Haskell, including Aaron spending time revising all the main chapters of the Haskell Wikibook. In May, Aaron and David met up in person for the first time since the formal project began. Aaron came to California for the BayHac Haskell conference where we met Mitchell Rosen who came on as our full-time summer contractor. Additional volunteers also got involved in various small items on the development.

Mitchell worked over the summer to refactor code and build a number of valuable improvements across the site. In September, when his contract with us ended, he moved on to a better-paid but non-Haskell, non-FLO developer job. He still supports the project and has stuck around to volunteer some and help with code review.

Nikita Karetnikov contacted us to see if we could hire him as a Haskell developer. Given his dedication to FLO issues, he would accept relatively low pay in order to work on such a meaningful and ethical project. In October, we took him on as a temporary contractor, with the hopes that we get things launched and could potentially become sustainable long-term, but no promises. A few challenges arose given Nikita’s 12-hour time difference in Moscow versus Aaron and David in the U.S., and the issues of international fund transfers.

Shortly after, David’s day-job killed the project he was working on, so he took the chance to return to working full-time on Snowdrift.coop to push through to launch.

At the end of 2014, we ran a launch fund-drive at snowdrift.tilt.com (archive.org link) to cover legal expenses and ongoing development. The drive was a success, bringing in about $20,000 when including related but indirect donations (those not given through the fund-drive site itself).


David procured a new well-paid day job and then became able to support paying a modest salary for a replacement lead developer. At the same time, we extended our contract with Nikita to continue full-time. We got lots more interest from many other volunteers. Now that we have a blog, many updates and details are shared there.

As clarified in various posts on the blog, we hired Bryan Richter for the lead developer position. Bryan has a lot of multifaceted experience. He pushed for clarity in our code style, our tools and processes, set up Mailman mailing lists (later deprecated in favor of a Discourse forum) and lots more along with the core development.

We had our first booths at conferences being invited to both SCALE and LinuxFest Northwest. Aaron also attended LibrePlanet. Several of us attended BayHac 2015 where we met new volunteers and some past contributors. Aaron spoke at CLS and Open Source Bridge, and Bryan attended those as well as Indie Web Camp.

We had a team of students help with some design proposals, and then Robert came on board as lead designer, and several others joined the team on the code side doing code reviews and development. Nikita stayed on through mid-August before moving on to other pursuits but still involved as feasible as a volunteer on the side.

We engaged with our lawyer Deb Olsen, who gave us instructions about clarifying areas of co-op governance that need more specificity. We have many legal challenges to address still along with juggling other organizational issues.

Again, the blog has further details from here.


While attending SCaLE, Bryan and Aaron talked with some supporters about project management, Agile development processes, personas, user-stories, and other things that large scale projects deal with. We struggled with the challenges of adapting our tooling.

Bryan decided that the organizing tools and the relevant mission-creep were just too much. We decided to test other tools, first Open Project and then Taiga. This process, and the relevant cleaning of the Snowdrift codebase involved delay, distraction, frustration, but also important learning steps.

We also embraced Holacracy more, eventually forming our structure into what is now our Governance roles. We never embraced Holacracy fully and strictly, but we emphasized the idea of making roles and accountabilities more explicit. Stephen Michel was the main person working on these issues.

Aaron became a father in April, juggling being a stay-at-home parent with Snowdrift and personal career issues (music teaching still). While remaining connected, his ability to focus well for extended times to really push forward disappeared. On and off, Robert, Iko, Stephen, and Bryan kept up the pace but the plans for optimizing workflow didn’t get figured out fully.

By the fall, David announced his own personal career changes and the end of us funding of Bryan’s full-time work. The focus shifted hard to getting an alpha working “crowdmatching” system (a term we embraced after Michael Siepman suggested it) for Snowdrift itself. Bryan got a new full-time day job, limiting him to volunteering in spare time.


Robert decided we needed a better intro video, and after an excessive amount of effort and misunderstandings about the best process and the roles, drafts of scripts and animations happened, especially with volunteer animator Johannes Wuensch.

Salt and Stephen held a Snowdrift event at LibrePlanet 2017 with decent attendance where they answered questions about the status and the various issues. Interest among that community remains high.

With a lot of ups and downs and some stagnation, progress continued slowly. In summer, Bryan got laid off from his day job and went traveling in Europe. Among other things, he met with Robert in person and attended Haskell meetups.

With Iko’s dedicated work and larger amount of volunteer time from Bryan, the transition was made to mostly embrace GitLab at git.snowdrift.coop as our organizing tool (after we failed to really get to using Taiga effectively, and since GitLab’s tools had improved dramatically in recent months).

In the fall, Aaron’s son started daycare, finally giving Aaron more dedicated time (to do things including update this history). Salt started grad school (working with Ben “Mako” Hill at U. Washington on Snowdrift-tangential issues!), and everyone else remained involved with some inconsistent levels of time commitment.

By October, we ran our first ever crowdmatch event with 70 patrons (who all signed up without us publicly announcing the working system). We still need to finish the infrastructure to provide a reliable user experience, notifications, updated blog and discussion systems (planning to deploy Ghost and Discourse respectively), continue to improve our work process, and have a solid foundation for iterative development going forward to the main milestone: public announcement of working alpha.