Categories: sumana | Deliverables
Announcements of things I have made, like zines, software, and articles on other websites.
# 06 Oct 2018, 12:20PM: Credits and References for "Python Grab Bag: A Set of Short Plays":
Today, at PyGotham 2018, Jason Owen and I presented "Python Grab Bag: A Set of Short Plays".* We predict a videorecording will be on PyVideo in the next few weeks.
This session is the latest in my line of non-traditional tech talks. I conceived of the idea. Thanks to Jason Owen for working on it with me - thinking of play topics, editing, rehearsing! I wrote almost all of these plays and he made them better. And, as we mentioned in "The Unvarnished Truth", we spent upwards of USD$1650 out of our own pockets on this session -- paying our director and audiovisual assistant, buying props, and renting rehearsal space. Probably closer to $1850 when it all comes in.
- our director, Aya Aziz
- Sarah Pavis for running sound and slides
- Dustin Ingram for a few cameos as an actor and for help with secondary A/V
- Mike Pirnat, Leonard Richardson, nycsubway.org, the Recurse Center, Elizabeth Yalkut, Betsy Haibel, Teresa Nielsen Hayden, James Vasile, Dave Anderson, Mark Smith, Sam Steinbock-Pratt, Andrea Parsons, and our preview audience for help writing, improving, scoring, rehearsing, illustrating, and making props for these plays
- the Neo-Futurists for their show "The Infinite Wrench" that we took as inspiration
- A. Jesse Jiryu Davis for being our session chair
- PyGotham and you for taking a chance on this ridiculous thing
In from import import import,** we mention Allison Kaptur's blog post on import and PyCon 2014 talk "Import-ant Decisions", and George London's PyGotham 2017 talk, "import madness # how to implement mergesort from scratch using only import statements".
In "A Proposal for Explaining PEPs", we briefly mention PEPs 347, 385, and 481, which moved Python development from CVS to Subversion to Mercurial to Git, and PEP 8000, which is working on governance questions.
In "GNU Mailman: A Pythonic Playlist", I discuss the history of Mailman release names.
"Generators: Taste the Freshness" draws on this explanation of generators in Python.
"This Is How We Do It" draws on this history of The Zen of Python, and on Larry Wall's "Perl, the first postmodern computer language".
"If Shakespeare Wrote Incident Reports" starts with a quote from Act I, Scene 5 of Hamlet.
"Code Review: Fast Forward and Back" is a summary of "Code Review, Forwards and Back" which originally appeared at PyGotham 2017 (video).
"Be A Better Bureaucrat: The Intellectual argparse Play" mentions James C. Scott's Seeing Like A State and David Graeber's The Utopia of Rules: On Technology, Stupidity, and the Secret Joys of Bureaucracy.
"The End (Of 2.7) Is Near (feat. Jason as Guido van Rossum)" starts by quoting Guido van Rossum's March 10, 2018 email to python-dev.
* Announcement, context, late-September reflections.
** For reference, in case the PyGotham 2018 site ever disappears, the play titles were:
- The Unvarnished Truth
- from import import import
- WHAT’S the DEAL with CLIENTS?
- A Play Entirely Full of Monty Python References
- A Proposal for Explaining PEPs
- GNU Mailman: A Pythonic Playlist
- Soup, Scrape, Sweep
- Generators: Taste the Freshness
- This Is How We Do It
- Cookie For Your Thoughts
- If Shakespeare Wrote Incident Reports
- Code Review: Fast Forward and Back
- When The Old Was New
- Things We Don’t Say At The Daily Standup Meeting
- The Relief of Reuse (The Colorful argparse Play)
- Be A Better Bureaucrat (The Intellectual argparse Play)
- Speaking Python
- The End (Of 2.7) Is Near (feat. Jason as Guido van Rossum)
# 11 Apr 2018, 10:17PM: My LWN Story Summarizing PyPI's Overhaul:
This coming Monday, April 16th, we plan to flip the switch on the new PyPI and redirect https://pypi.python.org web browser requests and pip install requests so the codebase serving them is Warehouse (which is in beta right now at https://pypi.org). I'm proud of our team's work and hope you find it useful.
I haven't blogged here in a while, but I've been writing a lot, mostly announcements and explanations listed on, or a few hyperlinks away from, the onwiki index to my PyPI work. When I can't give people choices (and, unless your organization sets up a private package index/repository, PyPI can feel like the only game in town), I want to give them a lot of lead time to test, file bug reports, and migrate, and I want to provide backstory.
So: today LWN publishes a new article by me, "A new package index for Python". In it, I discuss security, policy, UX and developer experience changes in the 15+ years since PyPI's founding, new features (and deprecated old features) in Warehouse, and future plans. Plus: screenshots!
This summary should help occasional Python programmers understand why a new PyPI codebase is necessary, what's new, what features are going away, and what to expect in the near future.
If you aren't already a subscriber, you can use this subscriber link for the next week to read the article despite the LWN paywall. Thanks to LWN for the venue and the subscriber links, and thanks to Jake Edge in particular for thorough editing. Thanks to my Warehouse team for fact-checking me.
# 11 Nov 2017, 08:14AM: Video of Our PyGotham Play:
You can now watch the 22-minute video of the play I discussed last month. "Code Review, Forwards and Back", co-written by and co-starring Jason Owen and me, directed by Jonathan Galvez.
- Kenneth Durril for running sound
- David Beazley for running lights (on a few hours' notice and with no rehearsal)
- A. Jesse Jiryu Davis for a cameo as a junior engineer, and for introducing the play
- Jonathan Galvez for directing (if you're in NYC and looking to hire a director for a thing like this, ask me for his email address)
- Michael Rehse for a ton of useful advice
- Laura Hampton for serving as a dramaturg during late rehearsals
- The PyGotham organizers for accepting the talk and advising us on logistics and tone
- Our audience, especially attendees who told us they'd liked it
We were happy to hear people say things like I'm new to the industry, and this helped me learn things to watch out for or I used to be that reviewer and I'm trying not to be anymore or My name is Randall and I never hear my name in fiction and it was nice to hear you say my name or I don't code at all but this is a marvelous management parable. Indeed, code review is just a particularly visible moment where you can see the effects of an organization's culture and processes. Too execution-focused (the right hand doesn't know what the left hand is doing)? Too alignment-focused (we're taking so much time deliberating and gaining consensus that we can't make forward progress on the mission)? Too lax, or too superficial, in enforcing rules? Our play can't dive into every scenario but it's a start. And -- the most frequent comment we got from happy attendees -- it was a change of pace (no slides!).
We're revising the play and submitting this a few other places; once it's run its course, we'll be posting the text of the script online.
# (2) 13 Jun 2017, 10:41AM: Transparency And Accountability In Government Forensic Science:
In February, I learned that the New York State Assembly was planning a public hearing on government oversight of forensic science laboratories, and then was invited to offer ten minutes of testimony and then answer legislators' questions. This was a hearing held jointly by the Assembly Standing Committees on Codes, on Judiciary, and on Oversight, Analysis and Investigation and it was my first time speaking in this sort of capacity. I spoke on the importance of auditability and transparency in software used in devices the government uses in laboratories and field tests, and open source as an approach to improve these. And I testified to the efficiency, cost savings, security, and quality gains available by using open source software and by reusing and sharing open source software with other state governments. Here's a PDF of my testimony as written, and video and audio recordings are available as is a transcript that includes answers to the legislators' questions. It is a thrilling feeling to see my own words in a government hearing transcript, in that typeface and with those line numbers!
As I was researching my testimony, I got a lot of help from friends who introduced me to people who work in forensics or in this corner of the law. And I found an article by lawyer Rebecca Wexler on the danger of closed-source, unauditable code used in forensic science in the criminal justice system, and got the committee to also invite her to testify. Her testimony's also available in the recordings and transcript I link to above. And today she has a New York Times piece, "How Computers Are Harming Criminal Justice", which includes specific prescriptions:
Defense advocacy is a keystone of due process, not a business competition. And defense attorneys are officers of the court, not would-be thieves. In civil cases, trade secrets are often disclosed to opposing parties subject to a protective order. The same solution should work for those defending life or liberty.
The Supreme Court is currently considering hearing a case, Wisconsin v. Loomis, that raises similar issues. If it hears the case, the court will have the opportunity to rule on whether it violates due process to sentence someone based on a risk-assessment instrument whose workings are protected as a trade secret. If the court declines the case or rules that this is constitutional, legislatures should step in and pass laws limiting trade-secret safeguards in criminal proceedings to a protective order and nothing more.
I'll add here something I said during the questions-and-answers with the legislators:
And talking about the need for source code review here, I'm going to speak here as a programmer and a manager. Every piece of software that's ever been written that's longer than just a couple of lines long, that actually does anything substantive, has bugs. It has defects. And if you want to write code that doesn't have defects or if you want to at least have an understanding of what the defects are so that you can manage them, so that you can oversight them (the same way that we have a system of democracy, right, of course there's going to be problems, but we have mechanisms of oversight) -- If in a system that's going to have defects, if we don't have any oversight, if we have no transparency into what those instructions are doing and to what the recipe is, not only are we guaranteed to have bugs; we're guaranteed to have bugs that are harder to track down. And given what we've heard earlier about the fact that it's very likely that in some of these cases there will be discriminatory impacts, I think it's even more important; this isn't just going to be random.
I'll give you an example. HP, the computer manufacturer, they made a web camera, a camera built into a computer or a laptop that was supposed to automatically detect when there was a face. It didn't see black people's faces because they hadn't been tested on people with darker skin tones. Now at least that was somewhat easy to detect once it actually got out into the marketplace and HP had to absorb some laughter. But nobody's life was at stake, right?
When you're doing forensic work, of course in a state the size of New York State, edge cases, things that'll only happen under this combination of combination of conditions are going to happen every Tuesday, aren't they? And the way that the new generation of probabilistic DNA genotyping and other more complex bits of software work, it's not just: Okay, now much of fluid X is in sample Y? It's running a zillion different simulations based on different ideas of how the world could be. Maybe you've heard like the butterfly effect? If one little thing is off, you know, we might get a hurricane.
# 07 May 2017, 08:18AM: Timesaving Negativism or Masculine Calumnies?:
"Do your lairstone relations HAVE to come over?" she snooted.
"Look, my uncles are almost done repairing their peatship, so happiest
case, this is the last time for a long while."
"After all day patching up that thing, I suppose they'll need a
"'Just a teardrop,'" he parroted.
"And then they'll intoxicate themselves into such a state of
"I promise you, I understand your exasperation, but if my zombie
uncles forget their precautions and catch another xenoparasite, this
time it's on them to dig it up."
"Fine -- but you serve this time, I'm not a starwise waitress."
(This tiny short story inspired by Mark Dominus's list of awesome English anagrams and his !!Con talk on this topic.)
# 30 Dec 2016, 02:06PM: On LiveJournal:
I've posted to MetaFilter about some recent goings-on at LiveJournal; if you have an LJ account you should probably take a look.
# 15 Oct 2016, 01:55PM: New Zine "Playing With Python: Two of My Favorite Lenses":
MergeSort, the feminist maker meetup I co-organize, had a table at Maker Faire earlier this month. Last year we'd given away (and taught people how to cut and fold) a few of my zines, and people enjoyed that. A week before Maker Faire this year, I was attempting to nap when I was struck with the conviction that I ought to make a Python zine to give out this year.
So I did! Below is Playing with Python: 2 of my favorite lenses. (As you can see from the photos of the drafting process, I thought about mentioning pdb, various cool libraries, and other great parts of the Python ecology, but narrowed my focus to bpython and python -i.)
Playing with Python
2 of my favorite lenses
[magnifying glass and eyeglass icons]
by Sumana Harihareswara
When I'm getting a Python program running for the 1st time, playing around & lightly sketching or prototyping to figure out what I want to do, I [heart]:
bpython & python -i
[illustrations: sketch of a house, outline of a house in dots]
bpython is an exploratory Python interpreter. It shows what you can do with an object:
>>> dogs = ["Fido", "Toto"]
append count extend index insert pop remove reverse sort
And, you can use Control-R to undo!
[illustrations: bpython logo, pointer to cursor after dogs.]
Use the -i flag when running a script, and when it finishes or crashes, you'll get an interactive Python session so you can inspect the state of your program at that moment!
$ python -i example.py
Traceback (most recent call last):
File "example.py", line 5, in
toprint = varname + "entries"
TypeError: unsupported operand type(s) for + : 'int' and 'str'
[illustration: pointer to type(varname) asking, "wanna make a guess?"]
More: "A Few Python Tips"
This zine made in honor of
NYC's feminist makerspace!
CC BY-SA 2016 Sumana Harihareswara
Everyone has something to teach;
everyone has something to learn.
Here's the directory that contains those thumbnails, plus a PDF to print out and turn into an eight-page booklet with one center cut and a bit of folding. That directory also contains a screenshot of the bpython logo with a grid overlaid, in case you ever want to hand-draw it. Hand-drawing the bpython logo was the hardest thing about making this zine (beating "fitting a sample error message into the width allotted" by a narrow margin).
Libby Horacek and Anne DeCusatis not only volunteered at the MergeSort table -- they also created zines right there and then! (Libby, Anne.) The software zine heritage of The Whole Earth Software Review, 2600, BubbleSort, Julia Evans, The Recompiler, et alia continues!
(I know about bpython and python -i because I learned about them at the Recurse Center. Want to become a better programmer? Join the Recurse Center!)
# 26 Sep 2016, 09:33AM: iCalendar Munging with Python 3, Requests, ics.py, and Beautiful Soup:
Leonard and I love seeing movies at the Museum of the Moving Image. Every few months we look at the calendar of upcoming films and decide what we'd possibly like to see together, and put it on our shared calendar so we remember. And for every showing (example) the MoMI provides an iCalendar (.ics) file, to help you add it to your electronic calendar. But it's a pain to individually download or refer to each event's .ics file and import it into my electronic calendar -- and the museum's .ics files' DTEND times are often misleading and imply that the event has a duration of 0 seconds. (I've asked them to fix it, and some of their calendar files have correct durations, but some still have DTEND at the same time as DTSTART.)
Saturday morning I had started individually messing with 30+ events, because the MoMI is doing a complete retrospective of Krzysztof Kieslowski's films and I am inwardly bouncing up and down with joyous anticipation about seeing Dekalog again. And then I thought: I bet I can automate some of this tedious labor!
So I did. The create-fixed-ics.py script (Python 3) takes a plain text file of URLs separated by newlines (see movie-urls-sample-file.txt for an example), downloads iCalendar files from the MoMI site, fixes their event end times, and creates a new unified .ics file ready for import into a calendar. Perhaps the messiest bit is how I use a set of regular expressions, and my observations of the customs of MoMI curators, to figure out the probable duration of the event.
Much thanks to the programming ecology that helped me build this, especially the people who made RegExr, Beautiful Soup (hi Leonard), Requests, ics.py, and the bpython interpreter, and the many who have written excellent documentation on Python's standard library. Thanks also to Christine Spang, whose "Email as Distributed Protocol Transport: How Meeting Invites Work and Ideas for the Future" talk at Open Source Bridge 2015 (video) introduced me to hacking with the iCalendar format.
- It can be a bit slow as the number of URLs adds up -- it took maybe 5 minutes to process about 31 events. I oughta profile it and speed it up. But I usually only need to do this about six times a year.
- This script is not careful, and will overwrite a previously created .ics file at the same address (in case you're running it twice in one day). It has no tests and approximately no error-checking. This was a scratch-my-own-itch, few-hours-on-a-Saturday project. No Maintenance Intended.
- Absolutely not an official project of the Museum of the Moving Image.
# 22 Sep 2016, 03:09PM: New Essay: "Toward a !!Con Aesthetic":
Over at The Recompiler, I have a new essay out: "Toward A !!Con Aesthetic". I talk about (what I consider to be) the countercultural tech conference !!Con, which focuses on "the joy, excitement, and surprise of programming". If you're interested in hospitality and inclusion in tech conferences -- not just in event management but in talks, structure, and themes -- check it out.
Christie Koehler also interviews me about this and about activist role models, my new consulting business, different learning approaches, and more in the latest Recompiler podcast.
[announcement cross-posted from Geek Feminism]
# 21 Mar 2016, 04:58PM: What Is Maintainership?:
Yesterday, at my first LibrePlanet conference, I delivered a somewhat impromptu five-minute lightning talk, "What is maintainership? Or, approaches to filling management skill gaps in free software". I spoke without a script, and what follows is what I meant to say; I hope it bears a strong resemblance to what I actually said. I do not know whether any video of this session will appear online; if it does, I'll update this entry.
What is Maintainership?
Or, approaches to filling management skill gaps in free software
Sumana Harihareswara, Changeset Consulting
LibrePlanet, Cambridge, MA, 20 March 2016
Why do we have maintainers in free software projects? There are various different explanations you can use, and they affect how you do the job of maintainer, how you treat maintainers, how and whether you recruit and mentor them, and so on.
So here are three -- they aren't the only ways people think about maintainership, but these are three I have noticed, and I have given them alliterative names to make it easier to think about and remember them.
Sad: This is a narrative where even having maintainers is, fundamentally, an admission of failure. Jefferson said a lot of BS, but one thing he said that wasn't was: "If men were angels, we would have no need of government." And if every contributor contributed equally to bug triage, release management, communication, and so on, then we wouldn't need to delegate that responsibility to someone, to a maintainer. But it's not like that, so we do. It's an approach to preventing the Tragedy of the Commons.
I am not saying that this approach is wrong. It's totally legitimate if this is how you are thinking about maintainership. But it's going to affect how your community does it, so, just be aware.
Skill: This approach says, well, people want to grow their skills. This is really natural. People want to get better, they want to achieve mastery, and they want validation of their mastery, they want other people to respect their mastery. And the skill of being a maintainer, it's a skill, or a set of skills, around release management, communication, writing, leadership, and so on. And if it's a skill, then you can learn it. We can mentor new maintainers, teach them the skills they need.
So in this approach, people might have ambition to be maintainers. And ambition is not a dirty word. As Dr. Anna Fels puts it in her book Necessary Dreams, ambition is the combination of the urge to achieve mastery of some domain and the desire to have your peers, or people you admire, acknowledge, recognize, validate your mastery.
With this skills approach, we say, yeah, it's natural that some people have ambition to get better as developers and also to get better at the skills involved in being a maintainer, and we create pathways for that.
Sustain: OK, now we're talking about the economics of free software, how it gets sustained. If we're talking about economics, then we're talking about suppply and demand. And I believe that, in free software right now, there is an oversupply of developers who want to write feature code, relative to an undersupply of people with the temperament and skills and desire to do everything else that needs doing, to get free software polished and usable and delivered and making a difference. This is because of a lot of factors, who we've kept out and who got drawn into the community over the years, but anyway, it means we don't have enough people who currently have the skill and interest and time to do tasks that maintainers do.
But we have all these companies, right? Companies that depend on, that are built on free software infrastructure. How can those with more money than time help solve this problem?
[insert Changeset Consulting plug here]. You can hire my firm, Changeset Consulting, to do these tasks for a free software project you care about. Changeset Consulting can do bug triage, doc rewriting, user experience research, contributor outreach, release management, customer service, and basically all the tasks involved in maintainership except for the writing and reviewing of feature code, which is what those core developers want to be doing anyway. It's maintainer-as-a-service.
Of course you don't have to hire me. But it is worth thinking about what needs to be done, and disaggregating it and seeing what bits companies can pay for, to help sustain the free software ecology they depend on.
So: sad, skill, sustain. I hope thinking about what approach you are taking helps your project think about maintainership, and what it needs to do to make the biggest long-term impact on software freedom. Thank you.
# 19 Feb 2016, 06:50PM: What Should We Stop Doing? (FLOSS Community Metrics Meeting keynote):
"What should we stop doing?": written version of a keynote address by Sumana Harihareswara, delivered at the FLOSS Community Metrics Meeting just before FOSDEM, 29 January 2016 in Brussels, Belgium. Slide deck is a 14-page PDF. Video is available. The notes I used when I delivered the talk were quite skeletal, so the talk I delivered varied substantially on the sentence level, but covered all the same points.
I'd like to start with a story, about my excellent boss I worked for when I was at the Wikimedia Foundation, Rob Lanphier, and what he told me when I'd been on the job about eight months. In one of our one-on-one meetings, I mentioned to him that I felt overwhelmed. And first, he told me that I'd been on the job less than a year, and it takes a year to ramp up fully in that job, so I shouldn't be too worried. And then he reminded me that we were in an amazing position, that we would hear and get all kinds of great ideas, but that in order to get anything done, we would have to focus. We'd have to learn to say, "That's a great idea, and we're not doing it." And say it often. And, he reminded me, I felt overwhelmed because I actually had the power to make choices, about what I did with my time, that would affect a lot of people. I was not just cog # 15,000 doing a super specialized task at Apple.
So today I want to talk with you about how to use the power you have, in your open source projects and organizations, and about saying no to a lot of things, so you can focus on doing fewer things well -- the Unix philosophy, right? I'll talk about a few tools and leave you with some questions.
Tool 1: Remember to say no to the lamppost fallacy
The lamppost fallacy is an old one, and the story goes that a drunk guy says, "I dropped my keys, will you help me look for them?" "OK, sure. Where'd you drop them?" "Under that tree." "So why are you looking for them under this lamppost?" "Well, the light is better here."
A. Quantitative vs qualitative in the dev data
The first place we ought to check for the lamppost fallacy is in overvaluing quantitative metrics over qualitative analysis when looking at developer workflow and experience. Dave Neary said, in the FLOSSMetrics meeting in 2014, in "What you measure is what you get. Stories of metrics gone wrong": Use qualitative and quantitative analysis to interpret metrics.
When it comes to developer experience, you can be analytical while both quantitative and qualitative. And you rather have to be, because as soon as you start uncovering numbers, you start asking why they are what they are and what could be done to change that, and that's where the qualitative analytical approach comes in.
Qualitative is still analytical! Camille Fournier's post, "Qualitative or quantitative but always analytical", goes into this:
qualitative is still analytical. You may not be able to use data-driven reasoning because you're starting something new, and there are no numbers. It is hard to do quantitative analysis without data, and new things only have secondary data about potential and markets, they do not have primary data about the actual user engagement with the unbuilt product that you can measure. Furthermore, even when the thing is released, you probably have nothing but "small" data for a while. If you only have a thousand people engaging with something, it is hard to do interesting and statistically significant A/B tests unless you change things drastically and cause massive behavioral changes.
This is applicable to developer experience as well!
For help, I recommend the Wikimedia movement's Grants Evaluation & Learning team's table discussing quantitative and qualitative approaches you can take: ethnography, case studies, participant observation, and so on. To deepen understanding. It's complementary with the quantitative side, which is about generalizing findings.
B. Quantifiable dev artifacts-and-process data versus data about everything else
Another place to check for the lamppost fallacy is in overvaluing quantifiable data about programming artifacts and process over all sorts of data about everything else that matters about your project. Earlier today, Jesus González-Barahona mentioned the many communities -- dev, contributor, user, larger ecosystem -- that you might want to research. There's lots of easily quantifiable data about development, yes, but what is actually important to your project? Dev, user, sysadmin, larger ecology -- all of these might be, honestly, more important to the success of your mission. And we also know some things about how to get better at getting user data.
For help, I recommend the Simply Secure guides on doing qualitative UX research, such as seeing how users are using your product/application. And I recommend you read existing research on software engineering, like the findings in Making Software: What Really Works and Why We Believe It, the O'Reilly book edited by Andy Oram and Greg Wilson.
Tool 2: know what kind of assessment you're trying to do and how it plays into your theory of change
Another really important tool that will help you say no to some things and yes to others is knowing what kind of assessment you're trying to make, and how that plays into your hypothesis, your theory of change.
I'm going to mess this up compared to a serious education researcher, but it's worth knowing the basics of the difference between formative and summative assessments.
Formative assessment or evaluation is diagnostic, and you should use it iteratively to make better decisions to help students learn with better instruction & processes.
Summative assessment is checking outcomes at the conclusion of an exercise or a course, often for accountability, and judging the worth/value of that educational intervention. In our context as open source community managers, this often means that this data is used to persuade bosses & community that we're doing a good job or that someone else is doing a bad job.
As Dawn Foster last year said in her "Your Metrics Strategy" speech at the FLOSSMetrics meeting:
METRICS ARE USEFUL Measure progress, spot trends and recognize contributors.
Start with goals: WHY FOCUS ON GOALS? Avoid a mess: measure the right things, encourage good behavior.
Here's Ioana Chiorean, FLOSS Community Metrics meeting, January 30th 2015, "How metrics motivate":
Measure the right things... specific goals that will contribute to your organization's success
Dave Neary in 2014 in "What you measure is what you get. Stories of metrics gone wrong" at the Metrics meeting said:
be careful what you measure: metrics create incentives
Focus on business and community's success measurements
And this is tough. Because it can be hard to really make a space for truly formative assessment, especially if you are doing everything transparently, because as soon as you gather and publish any data, people will use it to argue that we ought to make drastic changes, not just iterative changes. But it might help to remember what you are truly aiming at, what kind of evaluation you really mean to be doing.
And it helps a lot to know your Theory of Change. You have an assessment of the way the world is, a vision of how you want the world to look, and a hypothesis about some change you could make, an activity or intervention you could perform to move us closer from A to B.
There's a chicken and egg problem here. How do you form the hypothesis without doing some initial measurement? And my perhaps subversive answer is, use ideas from other communities and research to create a hypothesis, and then set up some experiments to check it. Or go with your gut, your instinct about what the hypothesis is, and be ready to discard it if the data does not bear it out.
For help: Check out educational psychology, such as cognitive apprenticeship theory - Mel Chua's presentation here gives you the basics. You might also check out the Program/Grant Learning & Evaluation findings from Wikimedia, and try out how the "pirate metrics" funnel -- Acquisition, Activation, Retention, Referral, Revenue, or AARRR -- fits with your community's needs and bottlenecks.
Tool 3: if something doesn't work, acknowledge it
And the third tool is that when we see data saying that something does not work, we need to have the courage to acknowledge what the data is saying. You can move the goalposts, or you can say no and cause some temporary pain. We have to be willing to take bug reports.
Here's an example. The Wikimedia movement likes to host editathons, where a bunch of people get together and learn to edit Wikipedia together. We hoped that would be a way to train and retain new editors. But Wikipedia editathons don't produce new long-term editors. We learned:
About 52% of participants identified as new users made at least one edit one month after their event, but the percentage editing dropped to 15% in the sixth months after their event
And, in "What we learned from the English Wikipedia new editor pilot in the Philippines":
Inviting contribution by surfacing geo-targeted article stubs was not enough to motivate or help users to make their first edits to an article. Together, all new editors who joined made only six edits in total to the article space during this experiment, and they made no edits to the articles we suggested.
Providing suggestions via links to places users might go for help did not appear to sufficiently support or motivate these new editors to get involved. 50 percent of those surveyed later said they didn’t look for help pages. Those who did view help pages nevertheless did not edit the suggested articles.
But over and over in the Wikimedia movement I see that we keep hosting those one-off editathons. And they do work to, for instance, add new high-quality content about the topics they focus on, and some people really like them as parties and morale boosters, and I've heard the argument that they at least get a lot of people through that first step, of creating an account and making their first edit. But that does not mean that they're things we should be spending time on, to reverse the editor decline trend. We need to be honest about that.
It can be hard to give up things we like doing, things we think are good ideas and that ought to work. As an example: I am very much in favor of mentorship and apprenticeship programs in open source, like Google Summer of Code and Outreachy. Recently some researchers, Adriaan Labuschagne and Reid Holmes, raised questions about mentorship programs in "Do Onboarding Programs Work?", published in 2015, about whether these kinds of mentorship programs move the needle enough in the long run, to bring new contributors in. It's not conclusive, but there are questions. And I need to pay attention to that kind of research and be willing to change my recommendations based on what actually works.
We can run into cognitive dissonance if we realize that we did something that wasn't actually effective. Why did I do this thing? why did we do this thing? There's an urge to rationalize it. The Wikimedia FailFest & Learning Pattern hackathon 2015 recommends that we try framing our stories about our past mistakes to avoid that temptation.
Big 'F' failure framing:
- We planned this thing: __________________________
- This is how we knew it wasn't working: __________________________
- There might have been some issues with our assumption that: __________________________
- If we tried it again, we might change: __________________________
Little 'f' failure framing:
- We planned this thing: __________________________
- This is how we knew it wasn't working: __________________________
- We think that this went wrong: __________________________
- Here is how to fix it: __________________________
For help with this tool, I suggest reading existing research evaluating what works in FLOSS and open culture, like "Measuring Engagement: Recommendations from Audit and Analytics" by David Eaves, Adam Lofting, Pierros Papadeas, Peter Loewen of Mozilla.
I have a much larger question to leave you with.
One trend I see underlying a big chunk of FLOSS metrics work is the desire to automate the emotional labor involved in maintainership, like figuring out how our fellow contributors are doing, making choices about where to spend mentorship time, and tracking a community's emotional tenor. But is that appropriate? What if we switched our assumptions around and used our metrics to figure out what we're spending time on more generally, and tried to find low-value programming work we could stop doing? What tools would support this, and what scenarios could play out?
This is a huge question and I have barely scratched the surface, but I would love to hear your thoughts. Thank you.
Sumana Harihareswara, Changeset Consulting
# 19 Feb 2016, 06:10PM: Comparing Codes of Conduct to Copyleft Licenses (My FOSDEM Speech):
"Comparing codes of conduct to copyleft licenses": written notes for a talk by Sumana Harihareswara, delivered in the Legal and Policy Issues DevRoom at FOSDEM, 31 January 2016 in Brussels, Belgium. Video recording available. Condensed notes available at Anjana Sofia Vakil's blog.
Good afternoon. I'm Sumana Harihareswara, and I represent myself, and my firm Changeset Consulting. I'm here to discuss some things we can learn from comparing antiharassment policies, or community codes of conduct, to copyleft software licenses such as the GPL. I'll be laying out some major similarities and differences, especially delving into how these different approaches give us insight about common community attitudes and assumptions. And I'll lay out some lessons we can apply as we consider and advocate various sides of these issues, and potentially to apply to some other topics within free and open source software as well.
My notes will all be available online after this, so you don't have to scramble to write down my brilliant insights, or, more likely, links. And I don't have any slides. If you really need slides, I'm sorry, and if you're like, YES! then just bask in the next twenty-five minutes.
I will briefly mention my credentials in speaking about this topic, especially since this is my first FOSDEM and many of you don't know me. I have been a participant in free and open source software communities since the late 1990s. I'm the past community manager for MediaWiki, and while at the Wikimedia Foundation, I proposed and implemented our code of conduct, which we call a Friendly Space Policy, for in-person Wikimedia technical spaces such as hackathons and conferences.
I wrote an essay about this topic last year, as a guest post on the social sciences group blog Crooked Timber, and received many thoughtful comments, some of which I'll be citing in this talk.
I am also a contributor to several GPL'd pieces of code, such as MediaWiki and GNU Mailman, on code and non-code levels. And I am the creator of Randomized Dystopia, a GPL'd web application that helps you in case you want to write scifi novels about new dystopian tyrannies that abrogate different rights.
And I have been flamed for suggesting codes of conduct; for instance, one Crooked Timber commenter called me "a wannabe politician, trying to find a way to become important by peddling solutions to non-problems." Which is not as bad as when one person replied to me on a public mailing list and said, "Deja Vue all over again. I finally understand why mankind has been plagued by war throughout its entire history...." So maybe I'm the cause of all wars in human history. But I probably won't be able to cover that today.
II. The basic comparison
So let's start with a basic "theory of change" lens. When you're an activist trying to make change in the world, whether it's via a boycott, a new app, a training session, founding an organization, or some other approach, you have a theory of change, whether it's explicit or implicit. You have an assessment of the way the world is, a vision of how you want the world to look, and a hypothesis about some change you could make, an activity or intervention you could perform to move us closer from A to B. There's a pretty common theory of change among copyleft advocates and a couple of theories of change that are common to code of conduct advocates.
The GPL restricts some software developers' freedom (around redistributing software and around adding code under an incompatible license) so as to protect all users' freedom to use, inspect, modify, and hack on software.
The copyleft theory of change supposes that more people will be more free if we can see, modify, and share the source code to software we depend on, and so it's worth it to prohibit enclosure-style private takeovers of formerly shared code. Because in the long run, this will enable free software developers to build on each others' work, and incentivize other developers to choose to make their software free.
B. Codes of Conduct
Now, codes of conduct, antiharassment policies, friendly space policies: They restrict some people's behavior and require certain kinds of contributions from beneficiaries, so as to increase everyone's capabilities and freedom in the long run.
One pretty popular theory of change goes like this: we will make better software and have a greater impact if more people, and more different kinds of people, find our communities more appealing to work in. One thing making an unpleasant environment and driving away contributors, especially contributors with perspectives that are underrepresented in our communities, is hurtful misbehavior in community spaces. So we'll make the trade and say that it's worth it to restrict some behavior, in order to make the environment better so more, and more varied, people can do work in our communities, and thus make more free software and make it better.
And here's another related one, very similar to the one above, but focusing on the day-to-day freedom of community participants who are marginalized. If the constraint stopping me from, for instance, speaking in an IRC channel is that I strongly suspect I'll be harassed if they know I'm a woman, and that I don't have any reason to believe I can avoid or usefully complain about that harassment, how free am I to participate in that community? Is there perhaps a way to understand a certain level of safety as a necessary prerequisite to liberty?
I realize that this is probably the one room in the world where I have the highest chance of getting into a multi-hour "what does freedom mean" bikeshedding session, so I'm going to avoid focusing on the second model there and focus more on the first one, which emphasizes the end result of more free software.
So I am not assuming that everyone in this room is a copyleft advocate, but I am going to assume from this point forward that we in this room fundamentally understand the restrictive license argument, that we have a handle on the theory of change that it's operating on. And similarly, I'm sure there are people here who aren't so big on codes of conduct, but I'm going to assume that we fundamentally understand the theory of change behind that approach, regardless.
Now let's talk about similarities. Chris Webber calls both of these approaches "added process which define (and provide enforcement mechanisms for) doing the right thing." I agree. Without this kind of gatekeeping we see free rider incentives, on other people's software work and on other people's attention and patience and emotional labor.
They are written-down formalizations of practices and values that some community members think should be so intuitive and obvious that asking people to formally offer or accept the contract is an insult, or at least an unnecessary inconvenience. And so some people counterpropose sort-of-humorous policies, such as the "Do What the Fuck You Want to" software license and "don't be a jerk" codes of conduct.
They are loci of debate and fragmentation.
Some people agree to them thoughtfully, some agree distractedly as they would to corporate clickthrough EULAs, some disagree but click through anyway (acting in bad faith), some disagree and silently leave, some disagree and negotiate publicly, some disagree and fork publicly. Some people won't show up if the agreement is mandatory; some people won't show up UNLESS it's mandatory; some people don't care either way. And, by the way, good community management requires properly predicting the proportions, and navigating accordingly.
Both copyleft licenses and codes of conduct are approaches to solving problems that became more apparent along with different people realizing they have different expectations and needs, and consider different outcomes or processes to be "fair."
These kinds of codes and licenses usually cover specific bounded events and spaces or sites, and their scope covers interpersonal or public interactions. Codes of conduct usually don't cover conversations outside community-run spaces or the beliefs you hold in your head; open source licenses' restrictions usually kick in on redistribution, not use, so they don't constrain anything you do only on your own computer.
Neither one of these approaches can rely on self-enforcement. There is some self-enforcement of both, of course. There's a perception that -- as Harald K. commented on my blog post -- "licenses more or less police themselves (or in extreme instances, are policed by outsiders) whereas codes of conduct need an internal governing structure, a new arena where political power can be exercised." My personal understanding, which I share with people like Matthew Garrett, is that there's a ton of license-breaking happening, and we need to support existing organizations like the Software Freedom Conservancy to police that misbehavior and litigate to defend the GPL. As Conservancy head Karen Sandler points out in her December essay "From a lawyer who hates litigation", "I've seen companies abuse rights granted to them under the GPL over and over again. As the years pass, it seems that more and more of them want to walk as close to the edge of infringement as they can, and some flagrantly adopt a catch-me-if-you-can attitude." And you see enough individuals in our communities acting similarly that I don't think I need to belabor this point; codes of conduct are much more productive when they're actually, you know, enforced.
And both copyleft licenses and codes of conduct restrict freedom regarding certain acts, over and above what is restricted by the law, in the interest of a long-term good, which can in both cases be construed as greater freedom. As Belle Waring says to one skeptic in the Crooked Timber comments, paraphrasing their argument: "part of your reasonable resentment is, 'I don't want to be forced to do freedom-restricting things in support of a very uncertain outcome, just because the final proposed outcome is a good one.'" I will go into that bit of argument later.
But these kinds of agreements are different on a few different axes, which I think are worth considering for what they tell us about open stuff community values and about our intuitions on what kinds of freedom restrictions we find easier to accept.
One is that many codes of conduct focus on in-person events such as conferences, rather than online interactions. Many of the unpleasant incidents that caused communities to adopt CoCs -- or that communities see as "let's not let that happen here" warning bells -- happen at face-to-face events. And face-to-face spaces have a much longer history and context of ways of dealing with bad behavior than do online spaces. After all, a pretty widespread reading of the core function of government and law enforcement is that they keep Us Good Guys safe by stopping The Bad Guys from committing face-to-face (or knife-to-face or chair-to-face) assault.
But there's another axis I want to explore here: whether the behavior constraint feels like a contract or whether it feels like governance. Of course, we toss around phrases like "the social contract" and use the metaphor of contract to talk about the legitimacy of government, but to an ordinary citizen, contracts and governance feel like significantly different things. To oversimplify: to a non-lawyer like me, something that feels like a contract formalizes a specific trade, something discrete and finite and a bit rare. A copyleft license feels that way to me; it specifies that if I distribute a certain artifact -- which is something I would only do after some amount of thought and work -- I then also undertake certain obligations, namely, I must also redistribute the software's source code, under the same license. And, notwithstanding edge cases, it is often easy to examine the artifact, follow a decision procedure, and determine that I have complied with the terms of the license. If I meant to comply in the first place.
On the other hand, when we make rules constraining acts, especially speech acts, it feels more like governance.
Codes of conduct serve as part of a community's infrastructure to fulfill the first duty of a government — to protect its citizens from harm — and in order to make them work, communities must develop governance processes. That is to say, "governance" is what we call it when we're explicit about who gets to make and implement rules that affect everyone in a community, and how we choose those people or get rid of them. And a governance body does not necessarily have to be a legal entity. For instance, in MediaWiki governance, there's an architecture committee that decides on large technical architectural changes, and it has no standing in the eyes of the United States government.
It takes work to evaluate whether actions have complied with rules, and that work might require asking questions of suspects, bystanders, and targets. Enforcing a code of conduct, even a narrowly scoped anti-harassment policy, often requires that someone act on behalf of a community to do this, and to implement the outcome -- be it informed by retributive, rehabilitative, transformative, or some other justice model. And it feels more like governance than contract to me if a rule applies to actions I take many times a day without deliberate planning -- such as saying something in my project's live internet chat room.
One way of thinking about this is: is there some kind of authority that the community acknowledges as having legitimate power over everyday behavior, over and above existing government with a capital G? Because, again, licenses affect certain coding and architectural decisions, but they don't preclude, for instance, everyday discussion. In fact, the social and digital infrastructure it takes to make robust and usable software, including our bug reports, our automated tests, our conversation on mailing lists, and so on, is often not covered by any particular open license -- if it were, maybe we'd be seeing a different level of pushback even from developers who are happy with copyleft as applied to their code.
F. Shortcomings of the contract model
But I think another interesting thing that happens when you compare a governance model to a contract model, regarding approaches we take to improving behavior in our communities, is seeing how governance wins. It takes a lot of work, but it has a lot of advantages.
Contracts are binary where ongoing dialogue and governance can be more flexible and responsive. If I were going to be really annoying I would compare them to compiled bytecode and to interpretable scripts. Contracts have to sort of self-contain the tests for what the contract permits, mandates, and prohibits, whereas governance mechanisms and bodies can use more general standards, which might change over time. To quote one of the commenters on my essay, Stephenson-quoter kun:
contracts explicitly restrict acts which are simply unpardonable -- not sharing the source code to your modified version of a GPL-licensed project, sexually assaulting someone at a conference -- because everyone agrees that those things are wrong and we feel confident that we can agree up-front that there can never be any extenuating circumstances in which those things are actually OK. Governance, however, can serve to 'nudge' people away from bad behaviours – poor coding standards, rudeness on mailing lists -- by giving us a standard to measure those things against without enumerating every possible violation of the standard. A governance procedure can take context into account, and is much more easily subject to improvement and revision than a contract is.
Sometimes it's the little stuff, more subtle than the booth babe/groping/assault/slur kind of stuff, that makes a community feel inhospitable to me. When I say "little stuff" I am trying to describe the small ways people marginalize each other: dominance displays, cruelty in the guise of honesty, the use of power in inhospitable ways, feeling unvalued, "jokes", clubbiness, watching my every public action for ungenerous interpretation, nitpicking, and bad faith.
Changing these habits requires a change of culture, and that kind of deliberate change in culture requires people who take up the responsibility in stewarding the culture.
And a governance approach has a lot more ability to affect culture than a contracts-only approach does.
2. Contracts give us an illusion of equality and self-containedness
As Tim McGovern said in the comments to my Crooked Timber post:
contracts have taken over as a primary way of negotiating relationships: a EULA is a replacement for a legal understanding of the relationship between two parties who are doing business. I don't, in other words, sign a EULA when I buy a pair of socks -- or even when I buy a car (Teslas excepted) because the purchase relationship is legally defined; even the followup on what can and can't be in your warranty is legally defined. But companies would rather be bound by an agreement they write than a body of law based on either commonlaw or constitutional concepts, or legislation.
Contracts presume an equality between the parties; in theory, both sides can take a breach of contract to court. In practice, of course, a EULA is a contract that masks radical inequality in power between the parties.... Governance requires wrestling with equality in a real way, on the other hand, and voluntarily submitting to an authority constituted in some fashion (over time, by people, etc.), as opposed to preserving a contractual illusion of equality.
3. Contract pretends you have choices
I recommend that, if you haven't, you check out the article "Mothering versus Contract" by Virginia Held, from Beyond Self-Interest in 1990. It suggests that perhaps we should fundamentally conceive of our interactions with others as following a paradigm of motherhood rather than of contract -- one truth this approach acknowledges is that by default most interactions in your life are opt-out rather than opt-in, if there's any opting or choice at all.
Yes, there's the freedom to fork. But realistically, if you want to get things done, you have to collaborate with others, and we need to accede to other people's demands, in terms of interface compatibility, learning and speaking fluent English, and all sorts of other needs. A FLOSS project with a thriving ecology of contributors is far more valuable than a nearly identical chunk of code with only a couple of voices available to help out, and thus the finite amount of human attention limits our ability to make effective forks. We're more inderdependent than independent, and acknowleding that as a fundamental truth complicates the contracts-y libertarian narrative potentially beyond usefulness.
I hope that my analysis helps give some vocabulary and frameworks for understanding arguments around these issues, and that we can use them to develop more effective arguments.
A. Freedom tradeoff comparisons
The first step might be — if you're trying to get your community to adopt a code of conduct, you might benefit by looking at other freedom-restricting tradeoffs the community is okay with, so you can draw out that comparison.
Or with UX (user experience) -- design is the art of taking things away, and when you're advocating for better user experience, which often involves reducing the number of visible ways to do things, consider comparing your approach to one of the freedom tradeoffs that your interlocutor is already okay with, such as the fact that your community has standardized on a single version control system. A single way for that kind of user to interact.
And if you're trying to build a code of conduct consensus in your community, it might help to start by talking, not about day-to-day beavior, but about artifacts that people think of as artifacts. Talk about the things we make, like slide decks for presentations, articles on your wiki. That can get people on the same page as you, in case they're not yet ready to think of the community itself as an artifact we make together.
C. Theory of change
If you're an advocate for a new initiative, licensing, code of conduct, or something else, understand your own theory of change, and build mental models to help you understand the people who disagree with you. Understand what part of the theory of change they disagree with, and gather data to counter it.
And, incidentally, this lens will also help you appreciate other complementary approaches that will help you achieve your goals. As Mike Linksvayer says: "Of course I think that copyleft advocates who really want to ensure people have software freedom rather than just being enamored of a hack should be always on the lookout for cheaper and/or socialized enforcement (as implied above, control of distribution channels that matter, and state regulation)."
So why might people oppose codes of conduct? Here are a few ideas:
- they might disagree on whether the goal makes sense
- or on whether codes of conduct, when enforced, make the situation more conducive to diverse populations and to net growth in community -- have your research close at hand!
- or on what the biggest problems you're facing are, and whether they're community recruitment and retention
As Chris Webber notes, "there's an argument that achieving real world social justice involves a certain amount of process, laying the ground for what's permitted and isn't, and (if you have to, but hopefully you don't) a specified direction for requiring compliance with that correct behavior." The addendum is that, as Alberto Brandolini said "The amount of energy necessary to refute bullshit is an order of magnitude bigger than to produce it."
So part of the mental model you're trying to understand is what the person you're arguing with is trying to maximize, and another part is whether you agree on how to maximize it.
Paul Davis, the Ardour BDFL, commented on my Crooked Timber post, "The dilemma for a mid-size project like mine is that the overhead of developing and maintaining a CoC seems like just another thing to do amidst a list of things that is already way too long, and one that addresses a problem that we just don't have (yet)." He said he's more worried about technical, architectural decisions causing developer loss.
So, for instance, you could argue with Paul: what genuinely causes developer loss? And what priorities should you have, given your goals?
D. A fresh set of governance needs and questions
CoC adoption drives the adoption of explicit governance mechanisms, as Christie Koehler has recently explored in depth in her post "The complex reality of adopting a meaningful code of conduct" .... but we have many open questions that the legal and policy community within free and open source could really help with.
For instance, it's great that we have people like Ashe Dryden and organizations like Safety First PDX helping develop standards and advising organizers on developing and enforcing codes of conduct, but should we actually be centralizing this kind of reporting, codification and enforcement across the FLOSS ecosystem? Different subcommunities have different needs and standards, but just as OSI has helped us stave off the worst possibilities of license proliferation, maybe we should be avoiding the utter haphazardness of Code of Conduct proliferation.
And -- given how interconnected our projects are -- what if single open source projects are the wrong size or shape or scope for this particular aspect of stewardship and governance?
I'd very much appreciate thoughts on this from other folks in future devroom talks or blog posts -- if you tell me this is the kind of thing we talk about on the FLOSS Foundations mailing list then maybe I'll have to bite the bullet and go ahead and subscribe.
IV. Other thoughts + Conclusion
A. Comments on my CT piece
The comments on my Crooked Timber piece had many fine insights, on enforcement, culture, exit, voice and loyalty, fairness, and the consent of the governed. They're worth reading.
B. Hospitality to liberty spectrum
In addition to the contract-governance contrast, I think it's also worth thinking about the spectrum of liberty versus hospitality. The free software movement really privileges liberty, way over hospitality. And for many people in our movement, free speech, as John Scalzi put it, is the ability to be a dick in every possible circumstance. Criticize others in any words we like, and do anything that is not legally prohibited.
Hospitality, on the other hand, is thinking more about right speech, just speech, useful speech, and compassion. We only say and do things that help each other. The first responsibility of every citizen is to help each other achieve our goals, and make each other happy.
I think these two views exist on a spectrum, and we are way over to one side, the liberty side, as a community, and moving closer to the middle would help everyone learn better and would help us keep and grow our contributor base, and help make it more diverse. And to the extent that comparing codes of conduct to copyleft licenses helps some people put new initiatives in perspective, balancing the relationship between rights and responsibilities, perhaps that can also help shift our culture into one that's more willing to be hospitable. I hope.
C. This feels like a potentially insoluble problem
William Timberman said in Crooked Timber comments, "how does a socialist persuade a libertarian that coherence and the common good is sometimes a legitimate constraint on individual freedom?" And the answer is that I don't know, but I hope it is a soluble problem, and I hope I've opened up some avenues for exploration on that topic. Thank you.
# (3) 03 Jan 2016, 12:25PM PST: Star Wars: The Force Awakens:
I saw the original trilogy many years ago and just don't remember a lot of stuff. I was maybe sixteen; I missed my window for really loving it, in keeping with that old saying, "The golden age of science fiction is twelve." And then I saw Phantom Menace -- standing in line for it and all -- with my then boyfriend, when it came out, and then we had our first real argument, because I didn't like it and he did. Past Sumana, bewildered and frustrated in that dorm hallway, you are not wrong, basically the entire critical consensus agrees with you, and someday you will learn to trust your own aesthetic judgment.
In any case: even though I'd never seen Episodes 2 or 3, and I barely remembered the others, The Force Awakens was totally accessible and fun for me. I walked in as someone who thought Boba Fett was one of Jabba the Hutt's names, and I was fine.
I've heard that -- to trufans -- there's sort of a red herring happening in The Force Awakens about someone being set up to be the next Jedi. I did not see it, and I think one reason is that I don't know anything about what the harbingers of Jedi are, but also I think it's because I am such a nonfan that when I am watching a Star Wars movie I do not automatically think "ah there will have to be a new generation of Jedi, so who will it be?" It has not soaked in for me that Star Wars is fantasy and that the way we solve problems is by finding and training people sensitive to the Force. I have Star Trek in my DNA instead (like Leonard) so I assume that the way we solve geopolitical problems is by, like, being transgressively inclusive and making good arguments.
P.S. Does "TFA" mean Star Wars: The Force Awakens or two-factor authentication? In my upcoming fanfic on security in lightsaber summoning, both! Although I may need to figure out whether the Force is something you have, something you are, or something you know.
P.P.S. I will not be writing that fanfic, but you go ahead and feel free. Happy new year!
Edited to add at 11:45pm PT: OK, I wrote the fanfic. "Security Question" is about why a young Jedi apprentice can't shortcut the anti-theft system on the lightsabers by Force-summoning the two-factor auth token itself.
# 31 Dec 2015, 05:31PM PST: Yuletide Treasure Reveal: "Pops Real Nice":
Fanfic authors started a Secret Santa-style gift exchange, "Yuletide", in 2003, concentrating on fandoms that don't have that much fic written about them. This year, for the first time, I participated. Now that the authors' names have been revealed, I can announce: I wrote fic about two songs by the Mountain Goats!
Pops Real Nice (2194 words) by brainwane
Fandom: The Best Ever Death Metal Band in Denton - The Mountain Goats (song), Beat the Champ - The Mountain Goats (Album)
Rating: General Audiences
Warnings: No Archive Warnings Apply
Characters: Animal Mask, Original Male Character(s), Original Female Character(s), Cyrus (The Best Ever Death Metal Band in Denton), Jeff (The Best Ever Death Metal Band in Denton)
Additional Tags: Wrestling, Zines, Psychologists & Psychiatrists, Divorce, Texas, Utah - Freeform, Transcribed, Inspired by Music, Friendship, The Mountain Goats, John Darnielle - Freeform, All Hail West Texas
Summary: After the events of "Animal Mask." Before, during, and after the events of "The Best Ever Death Metal Band in Denton".
Enjoy "Pops Real Nice" and the making-of endnotes (including thank-yous to my beta readers) at Archive Of Our Own (brought to you by the Organization for Transformative Works).
I received a sweet Babysitters' Club fic, "(Not) Like Uber but for Babysitting", by cbomb, which took my prompt and ran with it. It made me cheer (as in, cheer out loud) when I found out that BSC is deliberately setting itself against the "sharing economy" trends of Uber, Airbnb, et alia by making its babysitters' treatment a first-class priority. Awesome, and in keeping with the values we've always seen in BSC!
Thanks to everyone who makes Yuletide happen.
# 28 Dec 2015, 02:19PM PST: More Zen Cho, and History in Hamilton:
People who read this blog will probably like the stuff I've been posting on the Geek Feminism group blog. I wrote a bit more about Zen Cho's Sorcerer to the Crown in October, covering "Cruciat-ish, or, Magic and Microaggressions", "The Diasporan Ugly Duckling", and "All The Fun Bits". And then, in November, I wrote a list of reasons why Hamilton appeals to geeky feminists -- including its user experience affordances.
I took some of those concepts and developed them further into my first-ever piece for Tor.com, "The Uses Of History in Hamilton: An American Musical". It compares Hamilton to Drunk History, Hark! A Vagrant, 1776, the HBO John Adams miniseries, Ginsberg's "America", Hughes's "Let America Be America Again", Sassafrass's "Somebody Will", and science fiction in general, and considers its narrative approach and metatextuality. I also link to a few great pieces of Hamilton fanfic.
# 28 Dec 2015, 02:06PM PST: What Software Freedom Conservancy Does, Why It's Important, And Why You Should Give:
I appreciate the work of the Software Freedom Conservancy, a nonprofit that helps free and open source software projects. Right now they need 2,500 people to become Supporters to keep their work going. So I made a video about why I support them, using language and examples that you can understand if you're new to this topic. It's embedded below, along with the text script I spoke from.
This month, I'm volunteering to help raise money for the Software Freedom Conservancy. My local bookshop does something cool for the holidays: volunteers wrap gifts for free, and any tips from the customers go to a charity that the volunteer gets to choose. So I've been explaining to the customers (most of whom aren't technologists) that I am donating their tips to the Software Freedom Conservancy.
My one-sentence explanation: The Software Freedom Conservancy is a nonprofit that helps programmers give away their software for free.
If they are curious, I explain further:
One way they do this is by being a nonprofit umbrella. Developers who want to make software and give it away often need a way to take donations and spend them on stuff like travel (to see each other and work face-to-face). Setting up their own nonprofits would take a ton of time and paperwork and filing fees. So the Conservancy takes care of all that, handling the accounting and stuff like that.
Another thing they do is license compliance work. You see, if you just write something, then automatically, the license that applies is standard copyright. But programmers who want to give away their software do it by saying it's under a different license, one that says, it's fine for you to copy this and look at the code and change it and even give it or sell it to other people, as long as you let other people do the same thing, too. But there are some companies that don't follow these rules. They maybe reuse these things that other people gave away, and package them into a phone or a tablet or something, and then they close it up. They don't let other people see that code -- they don't give other people the same chance that they benefited from. So the Conservancy follows up on that, sends them legal letters that say, "hey, that's illegal, that's not fair, don't do that."
And another thing they do is, there's this internship program, a paid internship program called Outreachy, to help get women and other underrepresented groups into this part of the tech industry. You see, most internships in the software industry are paid -- it's not like a lot of other industries. We gotta pay these interns to help them get into this part of the industry. So the Conservancy is the nonprofit umbrella for this program, and handles the finances so that companies can donate money and the interns can get paid.
That's my explanation. I'm glad I can help tell people about this great nonprofit and the unique work they do. And it really is unique. So if you or people you care about have benefited from the Conservancy's work, or if you just think it's a good idea, please give them $120, or whatever you can, during this fundraiser, and spread the word. Thank you.
Technologists might also like Matthew Garrett's "GPL enforcement is a social good" and Mike Linksvayer's thoughts on his favorite Conservancy accomplishment of 2015.
Please give -- right now, there's a match available that will make your gift count twice!
Edited 6 February to add: The donation match runs till 1 March 2016. Please give.
# (3) 17 Nov 2015, 05:48PM: Announcing Changeset Consulting:
I'm delighted to announce the launch of my new business. I am the founder of Changeset Consulting, LLC.
Changeset provides short-term project management services to free and open source software projects. Need to expedite the releases of new versions of software, write developer onboarding and user documentation, triage and respond to bugs, clean out the code review queue, or prioritize tasks for upcoming work? Changeset Consulting lightens the load on your maintainers.
Details about the services I offer, my past work, and useful resources I've made are at http://changeset.nyc. I'm seeking new clients and would love referrals.
For now the shop is just me, but I'm aiming to have enough income and work by summer 2016 to hire an intern or apprentice, and to eventually hire full-time staff. We'll see how it goes.
I highly recommend Galaxy Rise Consulting, the firm I hired to design my website. Much thanks to Shauna Gordon-McKeon, and to all the friends and family who encouraged me on my way here!
# 28 Oct 2015, 11:15AM: A Month, Ish:
I have been fairly low-volume on this blog lately. Some stuff I've been up to:
I wrote a Geek Feminism piece about feminist tech demos I saw at a showcase in New York City. I also asked the Geek Feminism book club what we want to read next, and then posted some thoughts on Zen Cho's Sorcerer to the Crown. I'll be posting more about Sorcerer to GF this week.
I wrote fanfic about Star Trek: The Next Generation and current events.
I helped spread the word about a bunch of openings for UX experts, developers, and sysadmins at the New York Public Library.
For the first time, I've signed up to participate in the Yuletide Treasure fanfiction exchange (my "Dear Author" letter). I'll get my assignment by November 1st and I'm pretty curious -- this experience will inform my answers to my question: What would a "Secret Santa"-style gift exchange along the lines of Yuletide Treasure look like in other parts of open source or open culture?
Leonard and I finished watching The Legend of Korra and I read Ancillary Mercy (my review), and I got most of the way through Stone Butch Blues by Leslie Feinberg. I listened to the entirety of Gimlet Media's show StartUp and cried at the end of the second season. And I got super into the musical Hamilton, getting to see it for $10 via the lottery for front-row seats, buying the cast album, and listening to it many, many times. I've started posting thoughts about it in the Hamiltunes community on Dreamwidth. For those of us who miss The West Wing and good Star Trek it fills quite a void.
Leonard and I hosted various visitors. I cooked a few dishes I'd never cooked before. I cycled places (my longest ride on this bike so far: from Astoria to Park Slope and back, about twenty miles) and learned how to clean and lube the chain. I worked on business planning and started talking to leads. I got used to a Jolla phone running SailfishOS (it's a little underfeatured but improving steadily).
In perhaps the most boring news at all, I'm trying out the world of the standing desk, using a stack of books to raise the laptop to typing height; I'll have to take out Gooseberry Bluff Community College of Magic by David J. Schwartz from this pile in order to finish it.
# 16 Sep 2015, 01:03PM: Software In Person:
In February, while coworking at the Open Internet Tools Project, I got to talking with Gus Andrews about face-to-face tech events. Specifically, when distributed people who make software together have a chance to get together in person, how can we best use that time? Gus took a bunch of notes on my thoughts, and gave me a copy.
Starting with those, I've written a piece that Model View Culture has published today: "Software In Person".
Distributed software-making organizations (companies, open source projects, etc.) generally make time to get people together, face-to-face. I know; I've organized or run hackathons, sprints, summits, and all-hands meetings for open source projects and businesses (and if I never have to worry about someone else's hotel or visa again, it'll be too soon).
Engineers often assume we don't need to explicitly structure that time together, or default to holding an unconference. This refusal to reflect on users' needs (in this case, the participants in the event) is lazy management. Or event organizers fall back to creating conferences like the ones we usually see in tech, where elite men give hour-long lectures, and most participants don't have any opportunities to collaborate or assess their skills. Still a bad user experience, and a waste of your precious in-person time.
Why do you think you're spending hundreds of thousands of dollars holding hackathons, sprint weeks, and conferences? And how could you be using that time and money better?
Subsections include "Our defaults", "Investing for the long term", "Beyond 'hack a lot'", "Grow your people", and "Setting yourself up for success". Thanks to Gus and to Model View Culture for helping me make this happen!
# 04 Aug 2015, 01:14AM: My Eulogy for Nóirín Plunkett:
A few hours ago, I spoke at Nóirín's memorial service. This is what I said (I am sure I varied the words a bit when I read it).
My name is Sumana Harihareswara, and I will always remember Nóirín's compassion, insight, and bravery.
They were brave to publicly name and fight back against wrongs done against them -- by members of the open source community -- wrongs done against them and others; I think it is not exaggerating to say that their bravery galvanized a movement. Our open technology community owes them a debt that can never be repaid.
We also benefited tremendously from their insight. Nóirín had just started a new role at Simply Secure, one that combined their expertise in open stuff with their writing and coordinating skills, and their judgment and perspective. And before that, when they worked as a project manager for the Ada Initiative, I had the privilege of working closely with Nóirín; I am grateful for that, but of course now I know what I'm missing, what we're all missing, because I had the chance to see, every day, their diligence and insight and discretion and judgment and empathy, and compassion. Some of us lead like engineers, by making systems that scale; some of us lead like nurturers, cultivating relationships and trust with emotional labor. Nóirín was brilliant at both of those, and I wish I could have decades more to learn from them, and toss around more ideas and frameworks.
The last time I saw Nóirín was at WisCon, a feminist science fiction convention in May. One morning I came down the hotel stairs and saw them seated against a wall, crying, sobbing, because Ireland had just passed a referendum legalizing same-sex marriage. They were so happy that their friends and loved ones and everyone back home were now freer to marry and have their families recognized that they'd gotten a glass of champagne from the hotel restaurant, at maybe eight in the morning, to celebrate. They felt deeply the joy and suffering of others.
Nóirín, I miss you, and I will try to live up to the example you set. Thank you.
# (1) 27 Jul 2015, 02:00PM PST: Slides & Code from HTTP Can Do That?!:
My slides are up, as is demonstration code, from "HTTP Can Do That?!", my talk at Open Source Bridge last month. I am pleased to report that something like a hundred people crowded into the room to view that talk and that I've received lots of positive feedback about it. Thanks for help in preparing that talk, or inspiring it, to Leonard Richardson, Greg Hendershott, Zack Weinberg, the Recurse Center, Clay Hallock, Paul Tagliamonte, Julia Evans, Allison Kaptur, Amy Hanlon, and
Video is not yet up. Once the video recording is available, I'll probably get it transcribed and posted on the OSBridge session notes wiki page.
I've also taken this opportunity to update my talks and presentations page -- for instance, I've belatedly posted some rough facilitator's notes that I made when leading an Ada Initiative-created impostor syndrome training at AdaCamp Bangalore last year.
# 18 Jun 2015, 06:53AM: HTTP Can Do That?! and Comedy:
On Wednesday of next week (June 24th) I'm presenting "HTTP Can Do That?!" at Open Source Bridge in Portland, Oregon.
I have explored weird corners of HTTP -- malformed requests that try to trick a site admin into clicking spam links in 404 logs, an API that responds to POST but not GET, and more. In this talk I'll walk you through those (using Python, netcat, and other tools you might have lying around the house).
I practiced this talk Tuesday night at the Recurse Center and it went well; people learned a lot about headers, verbs, status codes, and odd HTTP loopholes, and gave me constructive criticism so next week's version will be clearer.
I have also suggested a Birds of a Feather evening session called "Nothing Is Totally Incomprehensible If We Try Together" but don't yet know whether or when it will happen.
Then, at AlterConf Portland on Saturday, June 27th, I'll be performing some stand-up comedy for hippie nerds. I thought about trying to cram 100 punchlines into my 45-minute HTTP talk, but I don't think I'll be able to achieve that -- people need to understand something before they can understand a joke about it -- so it'll be nice to get 4 or 5 laughs per minute during the stand-up on Saturday.
# 23 May 2015, 10:41PM CST: New Vid: Pipeline:
I've made a new fanvid: "Pipeline". It's a little over 3 minutes long and cuts together about 50 different sources (documentaries, movies, TV, comics, coding bootcamp ads, and more) over Taylor Swift's song "Blank Space". My launch blog post on Dreamwidth goes into more detail and includes links to download it. You can stream it at Critical Commons (choose View High Quality for best experience) and I embed the video below:
It's CC BY-SA; please feel free to redistribute, link, remix, and so on, as long as you attribute me as the vidder and distribute your changes under the same license. Comments are welcome, though moderated.
# 22 May 2015, 10:48AM: Missing Women in FLOSS Philosophy, and Borrowing Models from Fandom:
I've arrived in Madison for WisCon! And just in time for WisCon:
I have a blog post up (in two parts) focusing on the frameworks that we free software/open source folks often take for granted, what might have been erased from our FLOSS intellectual heritage due to sexism, what FLOSS might look like under a different approach, and what practices and perspectives we might borrow from the fan fiction/fanvidding realm of speculative fiction and media fandom.
Part 1 is up at Crooked Timber as the guest post "Where are the women in the history of open source?" Part 2 is up at Geek Feminism as "What if free and open source software were more like fandom?"
Please feel free to comment at CT or GF.
# 18 May 2015, 11:06PM: Recompiler, Passionate Voices, Book Club, A Soviet Spy, and More:
A few announcements:
We have three days left to fund The Recompiler, a new technology magazine that will combine tutorials and technical articles with personal narratives and art. My household has now funded this campaign and I hope to attend the launch party in Portland next month. I particularly loved seeing (via the video on Indiegogo) that 2600 is one of the inspirations for The Recompiler. 2600 has many virtues, but it pays people in a free t-shirt or a year's worth of issues of the magazine. I am looking forward to seeing The Recompiler pay people to write "you can totally do this, here's how" high-quality technical articles.
My old boss Erik is running a new video interview series called "Passionate Voices" and kicked it off by interviewing me (72 minutes); if you are interested in my work on inclusive communities, my thoughts on codes of conduct, and my reflections on the Recurse Center, you might want to watch this.
In about ten days, I'll be leading a Geek Feminism book club on Courtney Milan's Trade Me -- read the first chapter free online, get hooked, and snarfle down the rest by May 28th so you can participate in the comment thread.
Also on Geek Feminism, I posted a quick note about the word "girl" in the name of superhero Supergirl.
Finally: I met some pretty interesting people via the Columbia master's program I did. And for several years, I've known Jack Barsky as a mentor, a tech executive, and a friend. He's now the subject of a profile by 60 Minutes because, no joke, he used to be a Soviet spy. This guy who gave me important advice, who always got to the heart of the matter and had super emotionally honest conversations with me, has a past that sounds beyond melodramatic. I was not aware until this month of all the twists and turns within his story, and I am honestly still processing it. Give it a look.
# 13 May 2015, 10:51PM: My Thoughts on Two Ken MacLeod Works:
Crooked Timber invited me and other writers to discuss the work of science fiction author Ken MacLeod. Thus, I have a new post up at CT: "Games, simulation, difference and insignificance in The Restoration Game & The Human Front". Henry Farrell, Farah Mendlesohn, Cosma Shalizi and Jo Walton have joined me in writing about various aspects of MacLeod's work, and after their posts go live, CT will also be publishing a response by MacLeod.
My post includes a joke about Trotsky's death and a note about what the year 1947 means to me (not Roswell), and starts:
I had, frankly, been afraid of trying to read Ken MacLeod, because I wasn't sure I had the prerequisite domain knowledge. I studied Russian and majored in Political Science at UC Berkeley, and wasn't sure that this had given me enough expertise on the history of Communism to jump into his work. Now that I've overcome this fear, I should check whether there's a market for a MOOC, "Remedial Ken MacLeod Prerequisites," in which I discuss leftism in the twentieth century, MacLeod's crony and former Big Pharma dispenser Charles Stross, and the landscape of rural Scotland, or, "Reds, meds, and sheds."
Check it out! Comments are live over on Crooked Timber.
# 18 Apr 2015, 12:36PM: New Takes On My Published Writing:
My Crooked Timber guest post on codes of conduct, freedom, governance, contracts, and copyleft software licenses has attracted over 200 comments. Many of them are thoughtful and interesting, and worth at least a skim if you found anything useful in the original post. For instance, can we compare mindshare to other forms of property? And what do we do to legitimately obtain the enthusiastic consent of the governed? Some of them have old or new perspectives on Adria Richards or Linus Torvalds. And about five percent of the comments are gross, hurtful, or laugh-out-loud wrong on multiple axes, e.g., "The FOSS world is not asking for codes of conduct, she is seeking to thrust them upon it." I shall be mining those for use in my stand-up comedy routine at AlterConf in Portland, Oregon in June.
Also, the code4lib Journal asked for me to turn my code4lib keynote from 2014 into an essay, "User Experience is a Social Justice Issue", for their special issue on diversity in library technology. The new article includes some contextual introduction and a retrospective with links to related work by others in the past year. You can comment there.
# 10 Apr 2015, 11:10PM: Crooked Timber Guest Post on FLOSS Licenses and Codes of Conduct:
The social sciences group blog Crooked Timber has published my guest post, "Codes of conduct and the trade-offs of copyleft".
A lot of open stuff -- such as the Wikimedia/Wikipedia and Linux projects -- are discussing or adopting codes of conduct, or expanding their existing policies. I'll reveal my biases at the start and say I think this is a good thing; for more, read my speech "Hospitality, Jerks, and What I Learned". But in this piece, I want to talk about the similarities and differences between codes of conduct and a set of agreements that some of these communities are more used to: "copyleft" or other restrictive software licenses. And I'd like to draw out some ways that the kinds of acts and artifacts that these policies cover reveal different attitudes towards contracts and governance.
Also I make silly references to Antitrust and Ducktales while oversimplifying free software licenses and political theory. So check it out.
Much thanks to Skud for an initial conversation about face-to-face versus online codes of conduct; my article, in the end, barely addresses that, but it was a seed for this piece. Thanks to Henry Farrell of CT for editing and publishing my guest post. And thanks to Naomi Ceder, Paul Tagliamonte, Leonard Richardson, and several other people who talked about this topic with me or beta read bits or drafts of the piece -- of course, all errors are mine.
Feel free to comment over at Crooked Timber!
# 21 Aug 2013, 10:45AM: My Family And The Ada Initiative:
Please join Leonard and me in donating to the Ada Initiative. Why? Let me tell you a story, and then a surprise.
My parents came to the US from Karnataka, in south India, in the 1970s, and they were lonely. They spoke Kannada and English and Farsi and Hindi and Sanskrit, but Kannada was their mother tongue, and they arrived in Oklahoma and found no Kannadiga community to speak of. (Go ahead and groan. My dad passed on his love of terrible puns to me.)
I'm not saying they were the first Kannada speakers in the US. There were definitely already Kannadigas in the US in the 1970s. Indians had been immigrating here for decades.* There were letters and long-distance phone calls and occasional visits, a few families getting together, the adults laughing and swapping tips in Kannada while kids ran around. But the Kannada-speaking diaspora was scattered and had no central place to talk with each other. A bunch of people who shared a characteristic, but not really a community.
So my parents did some community organizing, in their spare time, in between working and raising my sister and me. How did they get Kannada speakers together? They started "Kannada Koota" local organizations (like user groups). "Koota" means "meeting" in Kannada. They basically started a grassroots network of Kannadiga meetups. How did they get these folks talking to each other, all across the country? They started a bimonthly magazine, Amerikannada, and ran it for 7 and a half years, until their money and energy ran out. It had great fiction, and articles from the literary magazines back home. And it included ads for those Kannada Koota meetups, "how I started a Kannada Koota" articles, and tutorial exercises for "how to learn Kannada", for parents to teach their kids. My parents were sharing best practices, talking meta, inspiring people all over.
I didn't really know that, as a kid. As my parents processed subscriptions, recruited articles and ads, wrote, and edited, my sister and I stapled, stamped, glued, and sealed bits of paper in languages we couldn't quite yet read. We had a rubber stamp with the logo: a griffin-like creature, half-lion, half-bald eagle. I gleefully deployed those magical bulk-mail stickers, red and orange and green with single-letter codes, and piled envelopes into burlap sacks and plastic bins for the frequent trips to the post office.
It was always my Dad who took the Amerikannada mail to the post office. He was strong in those days, heaving the great bags of mail like an Indian Santa Claus (mustache yes, beard no) alongside the blue-uniformed workers on the loading dock, the part of the post office most people never use or even see. My sister and I came along, not to help -- how could we? -- but to keep my Dad company.
At home, while toying with BASIC on a PC Jr, I overheard the shouted long-distance phone calls in mixed Kannada and English. Stuff like "Go ahead and give me the directions to the venue, and I'll tell it to Veena." or "Well you know who you should talk to? Raj is going to be over there around then...." Weekend after weekend I spent reading science fiction in some corner at a Kannada Koota.**
The funny thing is that I thought I was rebelling against my parents by taking the path I did. I majored in political science at Berkeley instead of engineering, and fell in with open source hippies. I used AbiWord on Caldera Linux to write papers about nineteenth-century American political theory and naturalization rates among Indians in Silicon Valley. I fell away from coding and saw that other things needed doing more urgently: tech writing, testing, teaching, marketing, management.
And here I am now, a community organizer like them, finally appreciating what they did, what they made, what they gave up. My dad had to work to support us; he couldn't edit Amerikannada full-time, even if that would have been a better use of his talents, and a greater service to the world. My parents couldn't find enough ads and subscribers to pay for the cost of keeping the magazine going. I appreciate WordPress and PayPal all the more because I see that Amerikannada folded (partly) for the lack of them.
What if one of my parents had been able to bring in income from the community we were building? What if it had been sustainable?
Today, the community that I most identify with is that of women in open source and open culture. We've talked to each other in pockets and locally for decades - hats off to LinuxChix and VividCon, for instance - but in the last few years, The Ada Initiative has brought us more resources, a stronger community, and faster progress than ever. And this is possible because the Ada Initiative's staff is full-time.
So, here's the surprise: Leonard and I will match every donation to the Ada Initiative up to a total of USD$10,000 until midnight August 27th PDT, one week from today. Yes, again. And this time, if the community matches the full amount, we'll chip in an extra thousand dollars.
The Ada Initiative's work is useful in our own lives. When I needed an anti-harassment policy for my workplace's technical events, and when Leonard wanted resources to advise his technical communities on diversity, we consulted the Ada Initiative's resources. AdaCamp brings together, teaches, and inspires women from all over, including me. And the network I found via the Ada Initiative helped me write a keynote speech and respond to unwanted touch at a hackathon.
But more than that, we know that we're improving our world and helping science fiction, open source, and Wikipedia live up to our values. We believe in inclusiveness, compassion, empowerment, and equal and fair treatment for all, and the Ada Initiative opens the doors for more women to get to enjoy those values in the places we love.
And my parents taught me that I should give back. It feels so much better to give back than to give up.
* One couple who moved from Gujarat to California in 1958 had a son who's now a Congressman.
** Nowadays I get to be the only Kannadiga at science fiction conventions.
# (2) 26 Apr 2010, 07:25PM: Thoughtcrime Experiments, One Year Later:
Today is the one-year anniversary of Thoughtcrime Experiments, the free scifi/fantasy anthology Leonard and I edited last year.
Thoughtcrime Experiments got a bit of recognition in the form of award nominations. We made the British Fantasy longlist (voting closes 31 May). The Variety SF blog loved Ken Liu's "Single-Bit Error" and considered it one of the best short stories of the year. And Patrick Farley's "Gaia's Strange Seedlike Brood (Homage to Lynn Margulis)" has made the Ursa Major shortlist. We'll find out if he won next month.
Another form of recognition was the sharings, remixings and adaptations we hoped would happen when we released Thoughtcrime Experiments under a Creative Commons license.
LibrisLite, an ebook-reading application, includes our anthology as a free sample book. Marshall T. Vandergrift made a hand-crafted ePub edition, Arachne Jericho made ePub, Kindle/Mobipocket, Microsoft Reader, and Sony Reader editions, and manybooks.net provides the book in many formats. Andrew Willett's short story "Daisy" received a lot of love this way, including an audio recording read by Ian McMillan and an upcoming project I can't mention yet. A fan also read it aloud at a storyreading party.
(To the right: E. J. Fischer's photo of me with Mary Anne Mohanraj, author of "Jump Space.")
We were also gratified to see people thinking about, reviewing, enjoying, and linking to individual stories and illustrations.
"Jump Space" by Mary Anne Mohanraj got substantial thoughtful attention, such as Rachel Chalmers's review:
"Even cooler, the story they sort of chose for me is "Jump Space", which I purely love. It's a head-on collision between the Heinlein juvenile adventure stories I adored as a kid - the Have Spacesuit Will Travel or Space Family Stones - and a thoroughly 21st century set of attitudes towards love, sex, dating one's professor, marriage, faithfulness, jealousy, prostitution, slavery and even raising children (my main preoccupation these days and one that Heinlein tended to rather idealize...)
Erica Naone's review of "Jump Space", in part:
I think the anthology is trying to explore a wider
variety of human elements and viewpoints than are seen in the
typical science fiction anthology...
Mary Anne Mohanraj's "Jump Space" has some of the most fully
realized relationships that I've seen in science fiction.... the
theme of love's simultaneous strength and fragility was emphasized
against the backdrop of space. Love and family seem even more
accidental and precarious when the universe is so large.
Mohanraj wrote a post about what she did wrong & right in "Jump Space". Hugo Schwyzer posted about "Jump Space" and academic ethics (specifically, on initiating professor-student romance), to which Mohanraj replied.
Rachel Chalmers's review continued:
I liked "Jump Space" so much that I was startled to find a story in Thoughtcrime that I liked even better. It is "Single Bit Error" by Ken Liu. Can't tell you much about it without spoiling a rather excellent surprise, but wow, it's just a stunner. Weaves together theoretical computer science and existential philosophy in a way I've always thought could be done, but never quite managed to do or see anyone else doing...
You should allow for my extreme bias in favor of my friends; despite this utter lack of objectivity I recommend this anthology to anyone who's interested in the best and bravest modern science fiction.
(To the left: "Bio Break" by Brittany Hague.)
Kit Brown wrote: "I really liked Daisy by Andrew Willett and Single Bit Error by Ken Liu. I also loved Robot vs Ninjas by Marc Scheff and snagged it to add to my desktop wallpaper rotation."
Erin Ptah's illustration "Pirate vs. Alien" also got some attention: "More silliness may be found in this picture by Erin Ptah, wherein a buxom pirate battles a well-endowed alien who appears to be preparing to give himself a shave."
Lynda Williams says of "The Ambassador's Staff," a short story by Sherry D. Ramsey: "Well put together, goes down smooth, and captures my feelings about too little sleep and too much coffee, to boot. Allegorically speaking."
Sam Tomaino calls Thoughtcrime Experiments "an anthology filled with stories that I enjoyed thoroughly". And Jane Irwin of Vogelein liked it, especially "Daisy".
Erica Naone's thoughtful reviews of several Thoughtcrime Experiments stories are another useful resource; I can't quote them all here or they'd take up half the post!
One manybooks.net reviewer says:
When I saw the "mind-breakingly" description, I thought to myself, "No way, that is just too ambitious." Well after reading the first five or six stories, I must say I agree. This seems to be another example of really good authors publishing under the Creative Commons. Welcome to the future.
Other readers posted about the Creative Commons and DIY facets of our project interesting:
rollicking....The anthology wears its DIY cred on its sleeve and even has a how-to appendix and all the source code for the website is gank-able. It’s available as a free download or POD book. Keep Circulating the Tapes!...
They're publishing because they want to give back to the community. They have no illusions about reaping financial gains from these transactions, and that's okay. We all do things for love that we would never do for money....
The point of Thoughtcrime Experiments is its punk/hacker ethic. You don't have to wait for Gardner Dozois or any of the other 'masters of the genre' to make an anthology for you, you can go out there and do it yourself. If you can't find a magazine publishing SF you'd like to read, and feel they're all publishing the same tired stuff, Much like their punk predecessors at 'Sideburns' they have an appendix on "How we did this". It's the three-chord diagram for a revolution in SF.
Now, it probably won't catch on. Just because punk happened, doesn't mean one can start a revolution every time one is needed. But imagine if it did. Imagine if the kids started getting together, and producing their own SF magazines. Imagine if SF became, for some small portion of the population, the new rock-and-roll, or at least the new indie-rock....
But it's not just the anthology that's interesting. Leonard used this entire project to better understand the editing process. His conclusions are quite interesting for writers. Basically, that we don't suck as bad as we think we do just because we get so many damn rejections...
(To the right: "Times Square" by David Kelmer.)
Another author talked about our anthology while considering commodification, scarcity, and publishing. And Freedom to Tinker noted,
Still, part of the new theory of open-source peer-production asks questions like, "What motivates people to produce technical or artistic works? What mechanisms do they use to organize this work? What is the quality of the work produced, and how does it contribute to society? What are the legal frameworks that will encourage such work?" This anthology and its appendix provide an interesting datapoint for the theorists. (See Leonard's response.)
Jed's repost of our call for submissions, and his announcement once we were out, also commented on the ripples our project might send out: "So I'm hoping, as Leonard and Sumana are hoping, that in addition to providing a good read, this anthology will inspire others to embark on new publishing ventures."
If you want our thinky thoughts about the whole venture, you might be interested in Sharon Panelo's interview with me, my length anthology retrospective and thoughts on scifi publishing, more such, and Leonard's many interesting posts on the stories, the process, and what we learned about the field. And I hope we get that Hour of the Wolf radio show interview up for download/reading sometime soon.
To finish up the link roundup: Grasping in the Wind, BoingBoing, Tor.com,
John Scalzi, Baby Got Books, and Locus also notified their readers of our existence, for which we are grateful.
The book's still up. Read or download it for free, or buy a paperback for USD5.09 plus shipping. I'm arranging to have about seventy copies for sale at cost at WisCon.
If I missed your review, please post a link in the comments!
# 12 Jun 2009, 08:57PM: Let's Hear It For (Labors Of) Love:
Here is another narrative of my WisCon: something I learned from editing and publicizing Thoughtcrime Experiments, and what that makes me want to do next. It's long (the longer the post, the more I feel I'm leaving out), but there's some filk silliness at the end. (Title hat-tip to the Smokin' Popes; cue up Destination Failure while reading this, it'll take about that long.)
I arrived with ten copies of Thoughtcrime Experiments and nearly immediately gave away or sold them. I probably could have sold fifty, if I'd had them. I made about 200 copies of my flyer (seven-megabyte PDF, used a canned iWork Pages template) and people eagerly took them. I got to show contributor Alex Wilson Erica Naone's reviews of the stories, including her review of his "The Last Christmas of Mrs. Claus." In the "Was It Good For You?" panel, I mentioned three stories that made me feel unusually at-home: Connie Willis's "Even the Queen," my fellow panelist K. Tempest Bradford's "Élan Vital," and Mary Anne Mohanraj's "Jump Space" from the anthology I just published, squee!
Throughout the convention, people sounded receptive when I chattered about the anthology. Several people told me how exciting they found our project, and a few made noises about following Leonard's instructions and conducting the experiment themselves. And a few people said: "what are you doing next?" or "when you do it again next year..." A flattering boost and a natural assumption, but not a completely justified one.
Do I want to do it again? Good question!
In the "Was It Good For You?" panel, I observed that some editors and authors start with a vision they need to express (my nickel version of auteur theory), and some start wanting to respond to a community's need for certain viewpoints or stories. The way Leonard and I divided up anthology work reflects that division. He did line edits, pushed for more variety in the art, exhausted himself tweaking the layout to perfection, indeed conceived the project in the first place. I publicized the call for submissions, recruited artists, read slush and wrote rejections, and promoted the finished book electronically and in person.* My revealed preferences: sociable work. I want my work to make others happy. (When we got the first galley proofs from CreateSpace, I said it's real. But the reality of the literary marketplace is socially constructed, and foisting Thoughtcrime publicity onto hundreds of minds at WisCon transmuted the book into something more real.)
But how many people experienced any happiness from Thoughtcrime Experiments? A few thousand downloads and page hits, maybe ten thousand fleeting "oh it's neat that they did that" impressions. Is that enough? Would I spend my energy on a sequel anthology for a readership of less than, say, fifty thousand?
I mean, when I promoted the call for submissions, and when I went to WisCon, I couldn't help but see how many quality small presses and mags our genre enjoys. Shimmer, Goblin Fruit, GUD, Ideomancer, Small Beer, Electric Velocipede, Clarkesworld, Andromeda Spaceways Inflight Magazine**, Strange Horizons***, Verb Noire, Aqueduct... I'm just going off the top of my head. Some are electronic, some are print, some are more regular than others, but it's not like any one part of Thoughtcrime is new. Rejected Quarterly plus Creative Commons licensing (already done by Stross/Doctorow, not to mention Strange Horizons & others) plus easy online reading (several abovenamed pubs) plus good payrates (several again) plus gumption (passim). Thoughtcrime is a tiny fish in the pond.
When I see us in context, of course we've gotten maybe 4 emails of praise and 10 blog mentions from people who don't know us. What kills me is how little attention all these presses get. If Leonard weren't an author seeking markets, he wouldn't have started Thoughtcrime, and I wouldn't have heard of most of these presses and magazines. I'd see Tor's and Orbit's stuff in the bookstores, and maybe if BoingBoing or Tor.com or Making Light**** said something really positive about a particular story online I'd go click.
The ease of publishing doesn't mean readers automatically get hooked up with content they'd enjoy. Publishing is a binary switch, off to on, and new technology makes it cheaper to pull that switch. But publicizing -- marketing -- is analog, and really lossy. I'll only persuade a percentage of my desired audience to go read x, and I'll only ever hear about the fraction of that percentage that somehow signals back. Logs and analytics just tell me about impressions, not lasting impressions.
I am like the googolith person to observe, "it's a shame awesome indie stuff doesn't get as much mindshare as the mainstream does! It is almost as if having a large, established, for-profit publishing apparatus is good at turning capital into reputation, accessibility, and distribution!"
But just as I should be less in love with originality when appraising my past work (so what if Thoughtcrime did no one new thing? It combined a bunch of those things for the first time and it's a damn fun read), I don't have to put auteur-y novelty first on my priority list when allocating my future efforts. Why should I just turn five or nine stories from 0 to 1 on the publishing meter when I could get thousands of great stories from 1 to 2 or 5 or beyond?
Well, that "beyond" would be pretty tough. One assessment that sounds oppressively real: "The problem for SF writers and publishers today isn't that there's not a mass audience for high-end SF storytelling; it's that there are immense numbers of other diversions on offer for those hundreds of millions of people." Why should a person read at all, and if she reads why should she read the particular work I adore and want her to read? What particular need would I be uniquely fulfilling in her? Because that's where marketing starts: identifying or arousing a need.
I can reckon how a person might go about increasing the mindshare of any given indie scifi publisher among people who already consider themselves scifi fans. It's never been a better time to be a publisher or a cheapass reader; Amazon, Bookmooch, ManyBooks, Goodreads, DailyLit, the Kindle, blogs like Tor.com and BoingBoing, and other resources help hook up readers with the abundance of awesome fiction that already exists, for free, online. (If you are a cheapass scifi reader and you are saying, "Where do I start? SHOW ME THE FREE STORIES," Futurismic's Friday Free Fiction weekly roundup will get you started.)
Indie publishers still need a little marketing to get into many of those channels. Search engine optimization, some tech hairdressing, and time writing the equivalent of press releases come to mind. I can see a path to getting a rabid scifi fan to taste something new. I'd grow the market a little (rewarding!), but also displace the readership of my rivals, Big Publishers and other small presses (kind of disheartening!). I actually don't know how zero-sum the economics of this project would be, and am curious; I'd want to collect a lot of metrics, and set a quantitative goal in hopes of avoiding existential despair.
But the project of turning nonreaders into occasional sci-fi readers, and occasional readers into rabid readers? Unsolved and incredibly exciting. I'm wondering who else is doing this, and how; comments welcome.
I would like to make the pie higher, as the saying goes. Thoughtcrime Experiments will never be a huge slice of it in any case, and I'm not so delusional as to think it's objectively the tastiest portion.
So Leonard and I have different ideas for what's next (not that either of us is about to start anything; our jobs, writing, travel, friends, worries, etc. are consuming us for now). He's tentatively interested in doing what Brendan dares us to call Again, Thoughtcrime Experiments. I'd help again if he wanted. We found stories we loved and made them more real, and I love doing that. But my ambitions point me in another direction: scaling up.
* It wasn't till like three months into Thoughtcrime that I realized I was following in my parents' footsteps. My parents did a zine! Amerikannada, the literary magazine my parents ran for several years, printed fiction and nonfiction by the Kannada-speaking diaspora in the United States. The Amerikannada logo was a hybrid eagle-lion. They've been editing and writing and celebrating Kannada literature for decades, but I remember Amerikannada specifically because I got to help with kid-friendly mailing chores. After Leonard and I had an argument about art direction, I felt like I'd unlocked a memory of another editorial argument, conducted over my head as I pasted stickers to envelopes in the rec room of the first California house. I have no idea whether that's memory or invention, and indeed know nothing of how Mom and Dad divvied up the work, ran submissions, decided on timetables, or made any of those editing/publishing decisions I now find fascinating. I should ask them.
** You can sing "Andromeda Spaceways" to the same meter as "American Woman." As long as you're here: "Goblin Fruit" works as "Stacey's Mom" ("Goblin Fruit / is made of hemp and jute") and I always want to sing "Clarkesworld" to the tune of "McWorld!" from those old McDonald's ads.
*** Strange Horizons is a special case all on its own. When I started realizing that they've been publishing quality fiction and nonfiction weekly for more than seven years, paying pro rates, and generally been ahead of every curve I thought I was exploring, I couldn't believe that I hadn't been a fangirl earlier. I'm feasting on archives now, especially their reviews. You can start with Anathem and Little Brother, and then see if you find this analysis of Ted Chiang's work and this West Wing analysis as thought-provoking as I do.
**** I have been reading the Nielsen Haydens for like six years or more. Patrick and Teresa taught Leonard at Viable Paradise, and Patrick gave Leonard advice before we launched the anthology. We thanked them in the acknowledgments to Thoughtcrime. Teresa reminds me of my late mother-in-law, Frances, in a lot of ways. And yet, and yet.***** Nora speaks better than I could.
***** I meant to write about WisCon racism discussions weeks ago. Explanation seems impossible, so I'll sum up. Thank you, Rachel Chalmers, for putting my head straight when I saw you in January. Thanks to all the antiracists who have put spoons into this discussion, in education and anger both. And thanks to WisCon 33 and its participants, for being the place where I had drinks and panels and meals with uncountable fans of color. (Pleasantly disorienting: the meal where I was the only heterosexual and the only monogamist but not the only woman or person of color.)
My perspective on race in fiction has shifted. The short edition: if you write or edit or critique fiction, looking out for lazy racism is no longer optional. Analogies: 1. The feminist infrastructure is strong enough that sexist writing gets a bunch of flack, and the antiracist infrastructure is getting there. 2. An antiracist lens is going to be a usual mode of critique from now on. This is part of the new normal. The discourse has shifted. Someone trying to pretend this is a fad or a personal attack is like the RIAA lashing out to protect business models that no longer work. Some thoughts on problems and solutions in an upcoming post, I hope.
# (1) 27 Apr 2009, 06:40AM: Thoughtcrime Experiments Anthology Is Up:
Nine new original stories, five new original artworks, and an essay on how and why we did it. Read it online, download the PDF, or (soon) buy the print-on-demand book. Link, download, read, and remix away -- it's all Creative Commons-licensed.
There isn't a theme, really, just "what we like." It turns out that we like political satire and family drama and detective thrillers and fables and fable deconstructions and the mysteries of debugging. It's all good stuff and we hope you like it.
# 07 Apr 2009, 07:17PM: A Tiny Anthology:
If you liked my most recent poem (the Linton Johnson one about BART), you might like these:
Most of these are sonnets on various schemes.
Edited 25 Nov 2010 to add my Garrison Keillor event introduction.
# (4) 04 Mar 2009, 09:35AM: Poem: "BART Spokesman Linton Johnson":
I wrote this in September 2008.
BART spokesman Linton Johnson
You speak for the trains
You must say so many things
Joyous and doleful
When the trains are stopped
Or when ridership is up
Or when the stations cry out for murals or bleach
You hear what the tunnels say
They whisper in your ears as you ride
Like a regular passenger
Out of uniform, out of sight
The seats and the cars plead with you
The turnstiles and ticket machines click and tick
As you watch the security cameras
They thank you for saying what they cannot
Each conductor drives one train
And announces its stops and destination
Only you sing of BART the whole
From Dublin to Pittsburg to Fremont to Richmond to SFO
Your heart MacArthur, centered above the freeway
Sing of the vessels that carry us from desk to bed
Speak for the trains
BART spokesman Linton Johnson
# (3) 24 Feb 2009, 12:39PM: Two 101-Word Stories Inspired By Fred von Lohmann's Talk Last Night:
Most clients sounded more stressed and less grammatical than this guy. "Why did YouTube take down a video without soundtrack music? I didn't break any copyrights, did I?"
"You came to the right effing lawyer," O'Porter smirked, though technically EFF had fired him when he kept calling Seth a "Latin hunk." "Let's see it."
The stranger clicked Play and swiveled his laptop. O'Porter watched hamsters and tried to hear the words under the strange hiss --
Seth David Schoen closed the lid, peeled off his mask, and walked away from O'Porter's body. Really, breaking the Content-ID tool was just a bonus.
"I'm saying, 'Leibnitzian Python wonder-language that contains no ambiguity' was a JOKE, not a spec."
"So he was a jester-philosopher, the Birbal of his day."
"I think Colbert, Haskins or Stewart --"
"If code is law, shouldn't law be code? And who'll port it but us?"
"But it's the Cyc problem. We write legislation using subjective moral distinctions that change over time. Barring Seldon-level sociological prediction, your version 1 architecture is going to include something as abhorrent to future Americans as slavery is to us. Worst. Legacy. Code. Ever."
"Not if CSAIL works with us," said the dean of MIT Law.
Also inspired of course by Leonard and by Brendan. Very much not inspired by anything Seth or anyone at the Electronic Frontier Foundation has ever done.
# (5) 19 Feb 2009, 09:51AM: Skills And Lenses:
A few models I've happened upon recently:
- No Big Deal: I visited Nandini. Her friend, a landscape architect, is helping her do up her apartment. We talked over breakfast. Susan's dad has always been a DIY type; his attitude is, why not try and do it himself? When she was a kid, her dad built a deck and she was his gofer. She'd take the leftover wood scraps and make doll furniture. To this day they enjoy working together and making stuff with their hands.
My parents have written and edited stuff for fun for decades. When I was a kid, Nandini and I helped them mail out their zine. Dad performed pujas and wanted participants to know what the rituals and Sanskrit mantras meant, so he'd write up articles in Hindi, Kannada, and English, typeset them in MS Word on the 486 running Windows 3.1 or 95, run off 200 copies at Office Depot, and have me staple the brochures together. Eventually he started asking me to edit them ("Dad, no one knows what 'clarion' means, you should use a different word").
They're always giving speeches, at parties, at Indian-American banquets/variety shows (invariably called "functions"), at schools, at an interfaith municipal Thanksgiving. And they'd push Nandini and me in front of the mike -- "Recite that poem you wrote! Sing that Weird Al song!" Once Nandini and I wrote, cast, and acted in a little four-act play called "Lost in Translation" at one of those Indian-American functions. I think we were teens.
So after breakfast, Susan was singlehandedly putting up shelves in the guest room -- studfinding, putting up rails, cutting planks to size with a saw, and placing the brackets. Meanwhile, in the living room, Nandini was writing a big report on transit infrastructure in Thailand and India. She'll be doing a presentation on it, too. And I was working on a fiction anthology I'm editing. But we took a break to cowrite a silly monologue.
One of the greatest gifts you can give your children, your employees, the people to whom you are a role model, is the knowledge that some field of endeavor is in a sense No Big Deal. Knowledge -- belief backed up by experience -- that they can do interesting and rewarding projects in it without fear of public embarrassment.
I grew up thinking that writing, editing, publishing, public speaking, community leadership, hobbyist programming, and using the Net were No Big Deal. To this day, though, I'm leery of trying home improvement, car repair, sports, camping, and childcare. I don't have a baseline, I don't know where to start, I don't know how to know if I'm doing okay, I've never played around in a context where results don't matter, so I have that vague fear. Nandini got cooking from my mom; I didn't. I lost my fearlessness about hobbyist coding and am trying to get it back. I've gained some fearlessness about travel and capitalism.
Leonard suggested a conclusion: you should treat everything like it's No Big Deal. Danger: you turn into one of those jerks who scorn strangers' struggles. (Yes, I'm thinking of those MIT jerks I met at that entrepreneurship meeting.) Self-efficacy demands that I treat my own attempts like No Big Deal; compassion demands that I recognize my privilege and help others build their skills and confidence.
Hospitality + Integrity: How can I enter a party or meetup and start a good conversation with someone I've never met? I take the initiative to introduce myself to random people. I have a few starter and restarter questions at the ready -- what cool things are you up to? what's exciting you these days? how do you know the host? do you live around here? what are you reading? -- avoiding the boring status-laden questions like "What do you do?" and "Where did you go to school?" I enthusiastically listen and ask follow-up questions and bring up related topics and trivia.
Some people respond in kind and get the momentum of the conversation going, start new threads and return to old ones. Some don't. If after five minutes of that treatment the person isn't saying anything particularly interesting, I say, "will you excuse me" and say something about food or drink or something, go away, and find some other person to talk to. I almost always find someone who can do twenty interesting minutes with me. And now I've made a new acquaintance, probably a friend. If I now need to mingle more to get good ROI out of the event, I frankly say, "I need to go mingle and meet more people," take her card or give him mine, and move on.
In a sense I think of my conversation-starting as merely hospitable. I try to make people feel cared-about and give them a platform to show off their coolness. But I couldn't just do that insincerely; that's cynical and such a drain. I honestly believe most people have something interesting to show me, and that some just need a little help opening up. So I don't hide my opinions (open platforms win in the long run, the GOP is irresponsible, venture capital is uninteresting, Harry Potter Book 4 was great). But compassion demands that I avoid giving needless offense, and integrity demands that I back up my arguments and admit when I'm wrong, and hospitality demands that I never let myself become a boor or a bore.
As I grow older, I find my deepest friends have integrity, a work ethic, some project that they're passionate about, and this seemingly innate dedication to conversational generosity. Attention, empathy, turn-taking, nitpicking only in the service of substantive truth, following the truth and the argument wherever it leads. And that's what I look for in new friends, and I keep finding it.
Jokes, Games, and Stories as Syllogisms: A common way to describe speculative fiction (otherwise known as "science fiction and fantasy" is to call them "what-if stories." There's some counterfactual premise. My favorite stories are the ones where the interactions of the characters and the counterfactual premise(s) elegantly and inevitably lead to some satisfying resolution. The author reveals the emergent properties of a system.
It turns out that this is also something I like in jokes. We see the rules of the world at the start, and then we see how they work themselves into something entertaining. My directions for creating observational humor aren't going to give you Dane-Cooky "that's so stupid! Blaaaaaah!" They're going to give you a Seinfeldesque analysis of the absurdity. Where did the incongruity come from, and what trend does it reveal?
I'll leave it to the Adam Parrish/Zack Weinberg/Leonard Richardson/Brendan Adkins/Holly Gramazio/Kevan Davis/Alexei Othenin-Girard types to let me know whether I'm grounded in suspecting that this is some of the joy they find in designing games.
I started thinking about these models while chatting with friends and acquaintances near and far. Man, sociability is awesome.
You can hire me through Changeset Consulting.
This work by Sumana Harihareswara is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Permissions beyond the scope of this license may be available by emailing the author at firstname.lastname@example.org.