A graceful end to Seltzer development

The Kickstarter I’ve been running for Seltzer (a tool for managing cooperatives) finished last night, at just shy of 1/3 of the funding goal. While the project wasn’t successfully funded, the crowdfunding campaign was far from a failure.

Over the past few weeks, I’ve learned an incredible amount about who is actually interested in Seltzer, and how much they’re able to participate. I received dozens of encouraging messages from organizers and administrators telling me how much they needed software like Seltzer. And I'm incredibly grateful to everyone who did pledge money to the project. I know many people stretched themselves to give generously. But, in the end, it wasn't enough to fund the project. Several people have told me I should have done an Indiegogo so I’d still get the money that was pledged, but here’s the secret: the campaign was as much about gauging interest as it was about raising money. The main goal of Seltzer has never been to create an application with a specific set of features, but to cultivate an open source community that could work together on an application that meets their common needs. No amount of money can buy that. Now I know that the time isn’t right, and I can apply myself more effectively elsewhere.

So what specifically did I learn? I had expected most of the support to come from people and organizations that were already using Seltzer or at least knew what it was, but I found just the opposite, which might mean that the existing version is actually good enough for everyone using it. I’d also expected many more small-dollar donations but was surprised to see that I got more $40 donations than $10 or $20. Data management isn’t sexy, so I realize now that those small dollar donations needed a more exciting reward to overcome the "sign into Kickstarter" activation energy.

I’d also expected more support from existing hackerspaces, both in the form of larger pledges and encouraging members to make smaller pledges. Members of a few spaces did take this on, but not as many as I’d planned on. The biggest challenge was establishing and maintaining contact. If I could do it again, I’d have started reaching out to hackerspaces months earlier and held regular calls to keep the momentum going. Volunteer organizations move slowly, and are easily distracted.

I’m a little sad that the campaign didn’t get funded, but it’s important to know when to end a project gracefully. So what does this mean for the future of Seltzer? Well, I won’t be developing a new version any time soon. Instead I’ll continue answering questions and reviewing bug-fixes, but no new features, on the existing version. Edit: And don't forget, you can still write your own modules to integrate with the existing code! I’ll also continue organizing people around cooperative software and linked data. If you want to be involved, join the cooperative software mailing list. I’ll also keep following exciting tech developments like JSON-LD. Who knows, maybe there will be a resurgence in interest for Seltzer later on, and I'd certainly consider another crowdfunding campaign, maybe over summer in some future year. In the meantime, it looks like I'll have four-day weekends for the rest of the this summer, so I should be able to relax a bit and catch up on reading and other side-projects.

Art, Code, and Asking

As a programmer, I know that code can be beautiful. As an artist, I know that code is not art. I don’t mean to say that code is in any way less, just different. And the difference is important, particularly when it comes to asking for support.

It’s a very exciting time for artists, as many turn to crowdfunding to support themselves. Either through single-shot funding campaigns, or ongoing patronage, artists are asking their fans for direct financial support, and fans are happy to give. The Boston-based musician Amanda Palmer has led the way, raising over a million dollars on Kickstarter to produce her most recent album. She reflects on the campaign in her book, The Art of Asking. In a passage that hit particularly close to home for me, she recounts a conversation with her mother, a programmer. As a teenager, Amanda had accused her mother of not being a “real artist” and years later, her mother told her:

You know, Amanda, it always bothered me. You can’t see my art, but… I’m one of the best artists I know. It’s just… nobody could ever see the beautiful things I made. Because you couldn’t hang them in a gallery.

Amanda came to recognize the unappreciated beauty of her mother’s work, and I have no doubt it was beautiful. But art is not just about beauty.

A few years ago, I was sitting in a client’s office in San Francisco, at a tiny desk overlooking the Highway 101 onramp, listening to music and writing code. The music was beautiful, but more than that, it showed me an entirely new perspective, that somehow felt deeply familiar. And in that moment, I felt a little more connected to humanity, and a little less alone. But I was sad to realize that my work would never help anyone else feel that way. I remembered a quote from Maya Angelou:

I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel.

Art catches and holds people’s attention by helping them feel new things. My work as a programmer, on the other hand, was forgettable. In fact, there’s a thing in software called the principle of least surprise: the better your code is, the less people even notice it exists. For a while, the thought of being unnoticed and forgettable left me with a sense of loss.

Relief came when I realized that although my code might never touch someone directly, it can (and has) helped artists who do. Just as the artist inspires the cancer researcher, the programmer empowers the artist. While the thought put an end to my mini existential crisis, some consequences remain, and that brings us back to asking for support.

Fans like Amanda Palmer’s give because they want to. They’re grateful for the gift of art, and they want to reciprocate. Emotion is a great motivator. But what about code? Software is complex, and beautiful, and important, but it doesn’t inspire the same emotion or generosity, because you never see the beauty. You can describe the types of things software will make possible, but that can seem overly abstract. I would like to think that crowdfunding can work for software as well as art. In fact, I’m currently running a campaign for software to manage makerspaces and other cooperatives. But how can programmers create the same connection with their users that artists create with their fans?

Advice for First Generation College Students

Some students entering college this fall have prepared their entire lives. But first-generation students, the first in their family to attend college, will leave their known world behind, with little idea of what to expect.

About a decade ago, I was one of these students. Neither of my parents went to college, and my father (despite being one of the smartest people I know) never finished high school. I stumbled my way through four years at MIT, figuring things out as I went, usually by making mistakes. Now I’m back at MIT as a staff researcher, and last year I had the opportunity to serve as an alumni mentor for MIT’s First Generation Project. I was delighted to find that I was able to help some bright young students by sharing my hard-learned lessons. I was also surprised at how common many of the experiences I had were. So I’d like to share those experiences and lessons here in the hopes that they’ll help current first-gen students, and help everyone understand us a little better.

Navigating the College Environment

College culture is very different from the environments–often minority, working-class, and/or immigrant–that first-gen students are used to. The most common adjustment for first-gen students is learning to ask for help! That can be difficult to do when you’re not used to there being anyone to go to. When I was growing up, I learned that asking for help made people do whatever they could to get me to go away. They had their own problems, they didn’t need to deal with mine too. In college, it was a huge revelation that people would not only help me, but be happy to do it (with occasional exceptions). Colleges want their students to succeed! Getting help means talking to peers and professors, studying in groups, going to office hours, asking questions in class, and seeking out resources for counseling or student life issues when needed. Another revelation was that I didn’t need a specific ask. I could go to someone with a problem, and they would help me figure out how to solve it–probably better than I could have on my own. Just as important as asking, is learning not to feel guilty for needing help, instead feeling and expressing gratitude.

Mentorship is one of the most powerful types of help you can seek. The realities of college life can be very different from official policies. Trying to navigate college life by-the-book is often an exercise in frustration, bureaucracy, and confusion unless you’ve learned to read between the lines. A good mentor can help. Mentors are also key for learning what you don’t know you don’t know. An ideal mentor is someone who looks like the kind of person you’d like to grow into. They’ve no doubt learned a lot along the way. They can help you avoid obstacles and direct you towards resources you never knew existed. Finding good mentors can be easier said than done, but the first step is learning to reach out to more experienced people who share your interests and passions.

First-gen students also face a sense of isolation. When you’re a part of two very different worlds, you never quite fit in anywhere. The good news is: that’s OK. It’s more important to become comfortable with yourself than it is to try to fit a mold. A mostly-empty dorm can feel particularly lonely when it seems like everyone has flown home for a long weekend, but you couldn’t afford to. But you’re often not as alone as it seems, and it’s important to find people you can relate to, who you feel comfortable around. For me, this was living in the beautifully dilapidated, graffiti-covered Bexley Hall. And with many colleges now offering first-gen programs, it’s increasingly easier to meet students with similar expereinces. On the flipside, it’s important to venture out of your comfort zone, to fully take advantage everything your new environment has to offer. One thing that helps is to remember that even when you feel like an outsider, it doesn’t necessarily mean others see you that way. You probably have a unique perspective to offer, and if they’re wise, they’ll appreciate that. Similarly, it can be tough to find yourself judged against people who have had more opportunities than you, but instead of resenting it, it’s wise to learn from the unique perspective that they have.

Money

If you’re the first in your family to go to college, chances are you’re paying your tuition with debt, and you won’t have much pocket change. There isn’t much you can do about that, but a few practical tips can make the financial squeeze a little more bearable. Student discounts are everywhere, especially in college towns, so always make sure to ask. Similarly, the Student Advantage card or a AAA membership can easily pay for themselves with discounts on travel and other purchases.

You’ll start getting credit card offers. The only cards you should consider are ones with no fee that offer cash back rewards (usually from 1-5%). If you do get one, never carry a balance. Never put more on it than you have in your checking account, and set a reminder for yourself to pay it off twice per month.

Textbooks are expensive. My textbook collection is still the most costly thing I own, and I’ve gotten rid of most of them! If you can, borrow your books from friends who have taken the class. Otherwise, rent or buy used books, and sell them as soon as you’re done with the class– the resale value drops quickly, especially if a new edition comes out.

Saving money is important, but one of the hardest things for a cash-strapped first-gen student to learn is that sometimes it’s better to spend it. A good rule of thumb is to spend extra money on things that will last a long time, and that will improve your life on a daily basis. That could be anything from a comfortable mattress, to bonding with a group of friends over dinner.

Family Obligations

The purpose of college is self-improvement, which requires a certain amount of self-centeredness. That can put first-gen students in a bind. Less privileged families are disproportionately affected by things like unemployment, physical and mental health issues, and incarceration. First-gen students can face an incredible amount of guilt for focusing on their studies while their families struggle. Trying to help your family and succeed in college can feel like you’re simultaneously playing two games with different rules, and you need to make the right moves to win both. The difficult truth is that, in most cases, focusing on your studies is better in the long run than letting them take the back seat while you help your family. As the cliché goes, you have to put on your own oxygen mask before you try to help anyone else.

I’ve personally struggled to find a balance obligations to myself and to my family, and over many years, I’ve settled on some guidelines that I’ve found helpful. For college students, earning potential is low and money is often more limited than time, so financial help is usually not the most efficient form. If you do need to help your family financially, make gifts, not loans. Counting on getting money back can set you up for catastrophes that are both financially and emotionally costly.

As an alternative to money, emotional support can be incredibly powerful, and the positive, thriving atmosphere of college can put you in a great position to offer it. Colleges usually offer great support and counseling for students, and by leveraging that to take better care of yourself, you can help provide a sense of stability and security to your family. You can also help your family in other non-monetary ways. For instance, if they need a new car, you could see whether anyone in your college network knows someone selling one for a good price.

Unfortunately, well-intentioned help can become unbalanced and unhealthy, so it’s important to develop strong boundaries. One rule of thumb is that if someone is capable of doing something themselves, doing it with them is ok, but doing it for them is not. Another good guideline is not to assume the consequences of anyone else’s decisions or actions. It can be incredibly hard to stick to these boundaries when people you love need help. Offering empathy and emotional support is often a good alternative. As a final thought, sometimes there just isn’t anything you can do to help. When that’s the case, remember that someday, you’ll be in a better position, and even though you can’t go back in time, you’ll be able to pay it forward and offer that help to your own friends, children, and mentees.

Abuse Is Not a Choice, Empathy Is

When we label someone an "abuser," we let them off too easily and invite future abuse into our communities.

Willow Brugh recently wrote a thoughtful post about how communities respond to abusive behavior. She writes, "If we simply kick out anyone who messes up, we end up with empty communities, and that’s not a new future." She calls for alternatives. The post sparked a lively twitter debate, with many arguing that abusers are aware of what they're doing and that placing the onus of "reforming" them on a community is overly burdensome. But, the rare sociopath aside, the very idea of an "abuser" is an anti-bogeyman that prevents us from dealing with the realities of abusive behavior in our communities, and importantly, in ourselves.

At this point, I should note that I'm no stranger to abuse. As a hackerspace director for many years, I was often in the position of responding when someone posed a threat to the safety and comfort of other members, and proudly, often the first person those members turned to for help. I've seen friends and family affected by abuse from strangers, relatives, police, lovers, and spouses. And, I've experienced abuse myself. I know the sting of betrayal, and the long-lingering doubt that comes from being mistreated by someone you trusted. I also know how difficult it is to recognize when your actions are hurting someone you care about, and how much work, dedication, and time it takes to change the thinking and habits behind those behaviors.

Discussions of abuse often insist it's a conscious choice. When asked about dealing with mean people, the terrific advice columnist Captain Awkward wrote:

I vote that you believe hard in the Mean Guy and view the rest of his personality through that lens. Because Sexy Guy is mean. And Sad Guy is mean. And I get it, because when you hate yourself and feel terrible, it makes it more likely that terrible things will escape your mouth. But at the end of the day, being depressed does not excuse being mean. Mean is a choice.

Yes, abuse is inexcusable, but the belief that it's a choice is both incorrect and harmful.

Consider the way a typical two-year-old treats others. They hit, lie, steal, threaten, scream, and any number of other behaviors that, if committed by an adult, would be undeniably abusive. But those children are not evil, they have not made a calculated decision to harm others. Their behavior stems from the inability to look past their own needs and consider the needs of others: in short, an underdeveloped sense of empathy. When I've worked to resolve conflicts in the hackerspace community, the abusive behavior I've seen has always stemmed from the exact same thing. If the offenders had been able to look past their own needs and emotions, they would have had to be either stupid or evil to act as they did (apologies to the Daily Show) but they couldn't.

Crucially, if someone believes abusive behavior is the result of a conscious choice, and they never made such a choice, they conclude that there is nothing wrong with their behavior. They then believe the problem must lie entirely with someone else. In other words, abuse is not a conscious choice, it is a lack of the conscious choice to empathize. Similarly, the false binary of "abuser" and "non-abuser" allows victims of abuse to assume that they could never become abusers themselves, when in fact, victims of abuse are the ones most likely become abusive (see Breaking the Cycle of Abuse: How to Move Beyond Your Past to Create an Abuse-Free Future). This is absolutely not an excuse for abusive behavior, but it suggests a completely different approach to understanding and responding to it. Have you ever looked critically at your own behavior towards others and considered that it might be abusive? If not, there's a good chance that, at times, it has been.

So how should we respond to abusive behavior within a community? I think Willow is right that we need something better than vilification and ostracization. When we say "we're kicking that person out because they're bad" we lose a crucial opportunity for the community to have a dialog about which behaviors are appropriate, and why. Also, no one sees themselves as "bad," so in such a system, they have no incentive to reflect on their own actions. In a wonderful video about how to tell someone they sound racist, Jay Smooth favors the "what you did" conversation over the "who you are" conversation, saying:

That conversation takes us away from the facts of what they did, into speculation about their motives and intention. And those are things you can only guess at, you can't ever prove, and that makes it way to easy for them to derail your whole argument.

What's more, when we label someone an "abuser" we fail to see them as people, modeling the very lack of empathy that causes abuse in the first place, furthering a vicious cycle. Should the recipient of abuse be forced to empathize with their abuser? No, of course not. But the response of the community, if it is to remain healthy, must be based in empathy. In practice, this means first and foremost, supporting and protecting the safety of anyone who was abused, and if at all possible, providing clear expectations to the perpetrator, along with an opportunity to meet them, and the consequences for not doing so. Some people will choose to continue harmful behaviors, and in doing so, choose to remove themselves from the community, but those who remain learn not to place blame, but rather to empathize and take responsibility for their own actions. People aren't problems. Problems are problems and people are people.

Return to Moderate Drinking is Still a Lie

Every few years, someone discovers that problem drinkers can return to moderate drinking—and they're always wrong. So when I saw an op-ed in the New York Times entitled "Cold Turkey Isn't the Only Route," I was disappointed, but not surprised. The op-ed, written by Gabrielle Glaser in support of her new book, has a simple message: for those who struggle to control their drinking, moderation is an alternative to abstinence. This claim is not new, and it's been disproven time and time again, often at the cost of human lives.

The first excitement over moderate drinking came after a 1962 case study by D.L. Davies. Of 93 patients treated for alcohol addiction, Davies found 7 who self-reported (with corroboration from family) drinking at most 3 pints (4 12 oz. drinks) of beer per day for at least 7 years after their treatment[1]. Although this sparked the first wave of claims that alcoholics could achieve moderate drinking, Davies' actual conclusion was that "the generally accepted view that no alcohol addict can ever again drink normally should be modified, although all patients should be advised to aim at total abstinence." Unfortunately, even that modest claim turned out to be based on bad data. A 1994 followup concluded that (surprise!) his patients had understated the severity of their drinking[2].

In the 1970s Mark and Linda Sobell picked up the torch. They devised an experimental technique to train alcoholics to drink moderately and tested it on 20 patients, concluding "some 'alcoholics' can acquire and maintain controlled drinking behavior over at least a 1-yr follow-up interval[3]." Based on those 20 patients, they wrote a book to teach their method to the general public[4]. In 1982, a team of scientists from UCLA did an independent review and follow-up with the Sobells' patients, finding very different outcomes:

Only one, who apparently had not experienced physical withdrawal symptoms, maintained a pattern of controlled drinking; eight continued to drink excessively—regularly or intermittently—despite repeated damaging consequences; six abandoned their efforts to engage in controlled drinking and became abstinent; four died from alcohol-related causes; and one, certified about a year after discharge from the research project as gravely disabled because of drinking, was missing[5].

In 1984, a Federal panel investigated the Sobell's for fraud. The panel found ambiguous language, errors, incorrect statements, and that the Sobells had "overstated their success," but attributed these discrepancies to carelessness rather than deliberate fraud[6].

The 1970s also saw an oft-cited study from the RAND Corporation, reporting that moderate drinking didn't predict relapse in patients previously treated for alcohol problems[7]. But that study only followed patients for six months. A four-year follow-up by the same researchers found that many of the original study's "moderate drinkers" had relapsed[8][9].

In Wednesday's op-ed, Glaser mentions a program called Moderation Management (MM) and reports meeting many women who have used it to change their drinking habits, but she doesn't go into MM's history. In 1994, on the heels of the Sobells' study and the first RAND report, a woman named Audrey Kishline came across the research on moderate drinking. She believed she was a problem-drinker, but not a chronic drinker, and embraced moderate drinking as her goal. Then, under the guidance of the Sobells, and contemporary moderate-drinking proponents Jeffrey Schaler, Stanton Peele, and Herbert Fingarette, she founded Moderation Management. She wrote a book, analogous to AA's "big book," to help other problem-drinkers like herself find an alternative to abstinence[10]. MM continued to grow and gain members over the next 6 years.

Then, on March 25, 2000, Kishline crashed her truck into oncoming traffic on Interstate-90, killing a 38-year-old man and his 12-year-old daughter. At the time, Kishline had been on a two-day vodka bender. She later admitted to NBC that while running Moderation Management, she'd been breaking her own rules, drinking at least 3 or 4 drinks a day, every single day, and sometimes binging on 7 or 8[10]. In her interview, she said she still believes problem-drinkers can achieve moderation as long as they're not truly alcoholic, but when asked where that line is, she replied "Nobody knows."

Kishline's experiment failed, and the small-scale, short-term, self-reporting studies claiming to show a return to moderate drinking have all fallen apart under scrutiny. The longest, largest study of the behavior of problem-drinkers has been by Harvard's George Vaillant, who studied over 600 subjects from the 1930s to present day. His conclusion: "Training alcohol-dependent individuals to achieve stable return to controlled drinking is a mirage.[9]"

In Glaser's defense, she does qualify her claims, saying "This approach isn’t for severely dependent drinkers, for whom abstinence might be best." But (almost) no one suggests abstinence unless a drinker is already having problems. If you want to drink less, try drinking less. If that works, you don't need a book, if it doesn't, there's probably no book that can help you. Glaser's book follows the path laid out by the Sobells, Kishline, Schaler, Fingarette, and Peele: helping no one, and exploiting the hopes and denial of the chronically mentally ill.

If you'd like a credible source of information on alcoholism, I highly recommend Alcoholism: The Facts by Ann M. Manzardo et al. and The Natural History of Alcoholism Revisited by George E. Vaillant. For a more personal account, Drinking: A Love Story by the late Caroline Knapp is honest and brilliant. Let's finally put the myth of return to moderate drinking to rest.

[1] D.L. Davies. "Normal Drinking in Recovered Alcohol Addicts." Quarterly Journal of Studies on Alcohol 23 (1962): 94-104.

[2] G. Edwards. "D.L. Davies and 'Normal drinking in recovered alcohol addicts': the genesis of a paper" Drug and Alcohol Dependence 35.3 (1994): 249-259.

[3] M. Sobell, and L. Sobell. "Alcoholics Treated by Individualized Behavior Therapy: One Year Treatment Outcome." Behavior Research and Therapy 11 (1973):599-618.

[4] M. Sobel, and L. Sobell. Behavioral Treatment of Alcohol Problems: individualized therapy and controlled drinking. Springer, 1978.

[5] M.L. Pendery, I.M. Maltzman, and L.J. West. "Controlled Drinking by Alcoholics? New Findings and a Reevaluation of a Major Affirmative Study" Science 217(1982):169-175.

[6] P.M. Boffey. "Panel Finds No Fraud by Alcohol Researchers." New York Times. September 11, 1984.

[7] D.J. Armor, H.B. Braiker, and J.M. Polich. Alcoholism and treatment. Rand, 1976.

[8] J.M. Polich, D.J. Armor, and H.B. Braiker. The Course of Alcoholism: Four Years After Treatment. Rand, 1980.

[9] G.E. Vaillant. The Natural History of Alcoholism Revisited. Harvard University Press, 1995.

[10] A. Kishline. Moderate Drinking: The Moderation Management Guide for People Who Want to Reduce Their Drinking. Crown Publishing Group, 1994.

[11] D. Murphy. "Road to Recovery." Dateline. NBC. Sept. 1, 2006.

Drupal Hooks Should Use PubSub

Drupal is an incredibly flexible piece of software, but that flexibility often comes at the price of slow performance. After several years working on Seltzer CRM, which I modeled after Drupal 6, I've realized that there is a simple way to get the same flexibility without as much of a hit to performance.

Drupal achieves its flexibility through modules and hooks. A Drupal module is simply a self-contained chunk of code that can be installed and enabled to provide a set of features, like a shopping cart, or comment moderation. A hook is a function in one module that changes the behavior of another module, like taking a form produced by one module, and altering its contents. Drupal's takes an implicit approach. If I have a module foo and I want it to alter forms produced by other modules, I implement the hook_form_alter() hook like so:

function foo_form_alter(&, &, ) { ... }

Whenever the form system creates a new form, it checks each module to see if hook_form_alter() is implemented, and if it is, passes the form data through that function. All my module needs to do is define the function. So what's the problem?

The performance problem is in plain sight. Every time a hook is called, every module needs to be checked for the existence of that function. The number of checks increases linearly with the number of modules, and in practice, most of those checks are unnecessary because any given hook will only be implemented by a small fraction of available modules. We can improve performance by switching to an explicit approach.

For our first try, let's invent a function called form_alter_register() that allows our module to explicitly register a callback:

form_alter_register('foo_form_alter');
function foo_form_alter(&, &, ) { ... }

Now, the form system can check each callback in the list rather than checking each module, which could speed things up quite a bit!

However, we're not quite at the same level of flexibility yet. Let's imagine that there's another module called "widget" and if its installed we want to be able to alter widgets as well. We do the following, right?

widget_alter_register('foo_form_alter');
function foo_widget_alter(&) { ... }

It works fine if the widget module is enabled, but what if the widget module is optional? Then widget_alter_register('foo_form_alter') won't be defined, and our code will crash! We could check whether the function exists before calling it, but that could get tedious. Better yet, we can use the same trick again, resulting in something like a publication-subscription approach.

Specifically, we define two core functions, one that allows modules to register the hooks they implement, and one that calls all hooks of a given name:

function hook_register(, ) { ... }
function hook_invoke_all() { ... }

Then our code to implement the hook looks like this:

hook_register('foo', 'widget_alter');
function foo_widget_alter(&) { ... }

Now we have improved performance and the same level of flexibility. Some might argue that even calling hook_register() before each hook definition is tedious, and it may be. On the other hand, code is read more than it is written (as the adage goes) and this pattern explicitly identifies a hook as such, making it more readable, while Drupal's current pattern does not. So for improved performance and readability, the next time I'm writing a modular framework, I'm likely to use this pattern instead.

PS: Does anyone know if there is a proper design pattern name for either of these approaches?

Sustainable Hackerspaces FTW

Last Friday, the CEO of i3 Detroit announced his resignation, and Bucketworks in Milwaukee announced that they were raising money to help make rent (they did). Both announcements generated a lot of valuable discussion about the sustainability of hackerspaces, but there are a few important points that I believe are often overlooked when talking about sustainability.

Growth hurts sustainability. Expanding membership numbers or square footage sounds like a good thing for a hackerspace, but it also carries downsides, especially when that growth happens quickly. More members and more space means more to manage, which means a higher burden on the leaders of a space. A quick influx of new members can weaken the community because those new members take time to learn the group’s social norms (e.g. how to “be excellent,” as so many spaces encourage). It also takes time for new members to learn how to contribute back to the space, so even if they want to, they won’t at first.

At i3 Detroit, they’ve implemented a mentor system where all new members are assigned a mentor (similar to the time-tested big brother/sister system used in fraternities and sororities). Mentors are a single point of contact to help new members get acquainted with the space, its rules, and its values. It’s a new program, but it seems like a great way to tackle the instability that comes with growth, and I have high hopes for it. Have any other spaces tried this technique, or others, to combat the instability associated with rapid growth?

Fundraising is good, saving is better. Many spaces run very close to the break-even point, so when the natural oscillation of membership goes down, or they have to make an unexpected repair, they need to have a “rent party” to quickly come up with money to make ends meet. The alternative is to regularly contribute to an emergency fund. One benefit of such a fund is that even if you still need to have a fundraiser, it buys you time. That extra time opens up new possibilities, like getting more quotes on a repair, or even finding a new space. Plus, extra time makes it a lot easier to continue keeping the space running smoothly for members while dealing with financial issues, without burning out.

But spaces can save for more than just emergencies! Even nonprofit spaces can have investment savings and use interest and dividends to offset operating costs. It takes a long time to build these kinds of savings up, but once you have them, it’s that much easier to weather hard financial times, fund special programs, offer reduced dues for those in need, and so on. Many universities, for instance, use these kinds of funds, called endowments. Similarly, hackerspaces should be considering saving to buy their own buildings. I’m not aware of any that have done this, but owning rather than renting would lower monthly expenses for most spaces (even if they have to get a mortgage) and would prevent the common problem of landlords raising rent after a group has invested in repairs and improvements to their space.

Finally, hackerspaces are businesses. This is a controversial statement, but I believe that if the leaders of a hackerspace aren’t treating it like a business (keeping accurate books, financial planning, catching problems before they snowball, etc.) then they are doing a disservice to the members and setting themselves up to burn out. That said a hackerspace should not feel like a business to the members. Hackerspaces work best when members can come in and just hack, teach, and learn with a minimum of obstacles. In good hackerspaces, the administrators consistently remove those obstacles, and in great hackerspaces they do it before the members even notice them.

There is a lot of good common wisdom floating around on design patterns for hackerspaces and common traps to avoid. Now that so many hackerspaces are up and running, I’m hoping to see more attention turn to how to ways to keep them running, not just for 5 or 10 years, but for future generations.

On Hackerspaces and Inclusion

TL;DR: Inclusion and diversity need to become core hackerspace values. When our spaces lack diversity, we should accept responsibility and take action, not make excuses. A little effort can go a long way.

Everyone running a hackerspace should be thinking about inclusion. There are a few interrelated issues that I keep seeing come up in the hacker/maker/DIY community, and I feel obligated to help give them some of the attention they deserve. Some spaces are doing a really great job at fostering inclusion and diversity, but these values are not yet widely accepted as part of hackerspace culture, and they need to be.

We should care about diversity. All too often, when I talk to members of the hackerspace community about diversity, I'm asked why it matters, or even told outright that encouraging diversity isn't worth the effort. In defense of my fellow hackers, they are also usually quite open to reconsidering their position when presented with good reasons. The reasons fall into two categories: practical, and idealogical.

The practical importance of diversity is simple. Hackerspaces are made of people, and the more awesome people you include, the more awesome your space will be. Diversity doesn't mean, as some might think, lowering the bar for members. It means not pushing away potentially valuable members for silly reasons. It means including everyone who has something to contribute, especially if it's different from what current members are contributing. It means opening up spaces to new socioeconomic groups who will tell you how to make your space relevant to a wider audience, and as a result more stable and sustainable.

But for me, the idealogical importance of diversity is even stronger. The hackerspace movement is about removing artificial technological barriers and using self-education and peer-education to reclaim the ability to make our world. If we leave people out for no reason other than their gender, skin-color, income, etc. then we are the ones placing artificial barriers and hoarding knowledge for our personal and selfish gain. Then we are hypocrites, and doomed to sabotage our ideals.

We have to accept responsibility and promote diversity and inclusion. Another common belief in the hackerspace community is that if we aren't actively discriminating against or excluding people, then there's no problem. But building an inclusive community takes more than that. Demographics are naturally self-reinforcing. Word-of-mouth travels through our social networks, made of people who are likely to share our demographics. When we teach workshops or hold events that are relevant to us, they are most likely to be relevant to an audience who shares our demographic. And there's nothing wrong with that, as long as we acknowledge and correct for it. When you're new to a group it's easy to feel like an outsider, especially if you perceive yourself as somehow different from the group's majority demographic. On top of that, members sometimes unknowingly say or do things that push people away because, through no fault of their own, they've never had to consider different perspectives.

A common response to the gender imbalance in hackerspaces is "Women aren't interested in what we do here." But on closer inspection this is just the "No True Scotsman" fallacy. In effect, it says "We [men] are True Hackers. If you are interested in something we are not interested in, you are not a true hacker and don't belong." To illustrate this point, ask yourself whether a clothes modding workshop or a Starcraft LAN party is more in line with the mission of a typical hackerspace. Then ask yourself which is likely to be better received.

The bottom line of resistance to making a hackerspace more inclusive is often "We don't want to change anything, we like things the way they are." That's a perfectly natural human response, but if it dominates your thinking, you don't have a hackerspace, you have a country club with Arduinos.

What we can do. Luckily, being inclusive is actually not that hard! At i3 Detroit, where I was a co-founder and board member for several years, inclusion was always one of my priorities, and I got a good sense of what works and what doesn't.

Just being actively welcoming to newcomers goes a long way. It doesn't need to be anything complicated, just saying hi, introducing yourself, and asking if they have any questions or if they'd like a tour. Sometimes that's a distraction to members who are in the middle of a project, but specifying best times for newcomers to visit, and a standard onboarding process can make it a lot easier. This is one reason I've never liked the idea of new members requiring a sponsor. Instead I like the idea of accepting anyone who shows interest and offering them a mentor to help integrate them into the group.

It's also crucial to create a safe and welcoming environment. That means having a sensible code of conduct and/or harassment policy. The policy should make it clear that if you're uncomfortable it's ok to voice your concern, and that someone trustworthy will listen, without judgment, and work to restore a safe environment.

Another key is being open-minded about what activities fit into your hackerspace's mission. If you give people the benefit of the doubt, you allow your space to grow beyond what you can currently imagine, and encourage people to push limits and take ownership in the space.

Finally, having a way to include students and other low-income members is important. A guest policy is one way to do that. Tiered memberships are another. A lot of spaces have "starving hacker" rates. At i3, we have two membership levels that are effectively the same, but a good number of people choose to step up to the higher level when they're able. Offering "scholarships" or no-fee memberships for those in financial need can also help. Even if they don't have a lot of money to spend on materials, those members may have awesome skills to share, and may be valuable contributors to group projects. And of course, members often grow through their involvement in hackerspaces. At i3, we had a "founding guest" who helped build the space even though he couldn't afford membership. Four years later, he's now a director and dues-paying member.

The hardest part of inclusivity is realizing that we can't see what's missing, that we have to actively seek it out. The rest is not that hard at all. Once we do that, our spaces benefit from a broader and more diverse membership, and more ties to the community. Some spaces are great at inclusivity, but as a community we still have a ways to go.

If you're part of a hackerspace, is this something your space talks about? What types of things do you do to foster inclusion and diversity? What works? What doesn't?

Pages