Why I'm leaving Open Source
ticki.github.io
ticki.github.io
When I was a military wife, I did a lot of volunteer work. I had time on my hands, but not enough to pursue a serious career, and I didn't have a pressing need for earned income because my husband's career provided adequately for the family. Some military wives seem to have a third baby about the time the second one starts kindergarten or first grade. I volunteered. It kept me occupied and met some of my needs on a schedule I could sustain.
My kids grew up and I got divorced. My time constraints went down and my need for money went up. I began investing more time and effort in developing a career and income, less in doing volunteer work.
I think that is kind of the norm. People do this sort of thing when they have some time on their hands and volunteer work meets some need that isn't being met some other way in their life. Their life changes, they move on.
I wish more goodbyes were clearer about that. These types of posts are very often a rant about the rest of the world.
For every one of these kinds of developers, it seems like there are at least 10 who measure way less and cut way more (myself included in that 10).
I do think ticki might find his way back to F/OSS with Haskell or some similarly related ML project, they can offer a good mix of ivory-tower and just enough in-the-weeds implementation to make rigid, type-safe, theoretically sound systems and abstractions...
Maybe it was just an issue of picking the right language to pursue the purity he was seeking -- one further away from the mainstream, under less pressure to "get shit done".
If ticki reads this: props for the clear words. Honest posts like this are rarely seen. And good luck for your career in mathematics. Though I figure great mathematics is not much different than great software (I'm not talking about glue-coding): It needs to exist. You need to find simple, obviously correct, and useful models to create something that other things can build on.
And if you decide to come back later: A clear goal helps separating the essential from the non-essential. Formalism is only a tool, not an end in itself.
Maybe if none of his work was actually published at all, then that statement would make sense (since it would literally be impossible to derive value from something that doesn't exist), but he's contributed documentation, schematics, etc, it's vaporware in the sense that it isn't a finished product and may never actually become one since he's not supporting it anymore, but if someone else sees what he's done (ex. https://github.com/redox-os/tfs), they might pick it up and finish it. ATM there are 500+ commits to that project, I find it hard to believe that if what he was doing is worth doing that those commits are completely worthless.
Take regular expressions, one of the theories that actually have been applied successfully to practice - because they are easy to understand and, as a corollary, describe practical concepts. Now, where are state machines implemented in their as a materialization of their abstract form? I don't know, maybe not even in a rather generalist tool like grep. They are at least not useful for lexers (one canonical use case for RE), because the formal overhead gets in the way of converting literals and looking up identifiers.
In Software you need to cut corners to be able to implement useful functionality and achieve good performance.
Every time an open source developer stops working, a star burns out somewhere in the universe.
I wrote a similar comment below before seeing yours, and now I’m even more curious: How much opportunity did Ticki have for good collaboration, just on that one, huge unresolved bug? How much could it have short circuited that month long drought?
I’m not sure exactly how much our thoughts were overlapping, but in case you haven’t heard the name of one particular flavor, @serens response to my comment shows the wikipedia reference to the concept, apparently known to some as “rubber duck debugging”.
The WP article centers around debugging, however it seems commonplace in many subjects and problem solving variations. I suspect it’s just as effective at ideation or design stages, or even when purely theoretical creativity is desired, for example in proving a mathematical result.
Not that some smarter person would instantly give you the answer (although if so great), rather the way that the process of explaining the problem out loud and letting someone pick through your thought process can cause the solution, or just new lines of attack, to spontaneously pop into your head.
Surely this benefits most people at some point. I heard of a guy who articulates math problems to his dog, and doing so still added value, even though the dog doesn’t tend to probe or challenge his thinking very often.
Sometimes when I get stuck I explain problems to my wife (who is technical but specializes outside of CS) for only 15 minutes or so, and on occasion she provides me the solution without saying a word.
However I don’t know the mechanism, is there a formal name for the phenomenon?
I’d be curious to know how often during the month he had an opportunity to try this approach on his skip lists bug with different people.
There's something about saying things out loud that clarifies the muddled mess in our heads. I also find this to be the case when having to teach something to someone.
I suspect it can work in different ways based on the experience/knowledge of the problem solving partner. Maybe your wife or an expert forces more precise thinking, maybe the dog for some people could create a more uninhibited environment, where we can share “dumb” thoughts we wouldn’t want to speak to a person yet could still lead down a productive path.
I hope she appreciates her contribution. Seriously listening to someone is a great gift to give in so many contexts.
And yes, her listening is very kind and generous, although I do need to let her off the hook and get an actual tech partner at some point. 20+ years is a long time to subject someone to such things. :-)
1. Is announcing withdrawal from (active) FOSS, to focus full time on mathematics
2. Who also think they are not the best suited for contributing to Rust because they have a theoretical bent and aim for getting things right rather than simple or working... And acknowledge that this might be a limitation
3. Would like others to take over their projects
Rather the comments here lead you to think this is some sort of a negative disgruntled rant.
/Smh
For example, Ticki wrote an early proposal for type-level integers, which everyone knows Rust needs eventually, but hadn't been able to work up a concrete proposal for:
https://github.com/ticki/rfcs/blob/pi-types/text/0000-pi-typ...
Outside the core project, Ticki was involved with RedoxOS, an OS written in Rust:
https://github.com/redox-os/redox#-ecosystem-
Particularly the TFS filesystem:
https://github.com/redox-os/tfs
TFS naver came to fruition, so RedoxOS still runs on its original filesystem, RedoxFS.
Why is this important? It isn't, any more so than the other 29 things currently on the front page!
I hope the author gets back into open source though eventually. We need people who can bring levels of correctness that mathematics students tend to pursue. Even if its complicated, it can push the artform forward, and everyone else will adapt.
That's a very interesting perspective. You're suggesting that 'a burnout' is a consequence of series of defeats. Interesting.
It's interesting that the OP ended up on this conclusion, although it would be much much better long-term to take the necessary time to deliver good pieces.
We really should figure out a way to compensate open source authors.
If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future.
I don't see any way I could convince you of anything believably, since I'm just some stranger on the internet.
Please just do me a favor and delete all the posts I've ever made from this account, thanks.
> From the man who brought you "The Case for Non-Binary Genders" last year. No thanks.
Link for the lazy: https://ticki.github.io/blog/the-case-for-non-binary-genders...
While this comment may not be directly "productive", I think the immediate response to it, and in general response to the topic at hand is rather instructive.
It shows a general negativity (on both sides) which is obviously detracting from the positive energy and enthusiasm associated with (and often crucial for) sustainable open-source software projects.
For all the good various diversity-initiatives has intended to do, I must admit I've yet to see any proof that these actually work and give the promised results. It's their claim and thus their responsibility to prove.
Faced with constant reminders (like this) of how they keep causing toxic debates, which again and again causes people to leave (or avoid joining), it's easy to assume that right now these well intended initiatives, executed as they are, represent a net negative.
Let's not make FOSS a matter of gender-identities and diversity, but again focus on the product, the commits, the code and the incremental improvements. Towards reaching a common goal, together.
We should all focus on the good things which are uniting instead of letting a select few try to force a divisive agenda top-down upon a audience we know will give a mixed reception.
Let's not kill something good with something well-meant, but misguided.
The diversity initiatives in the Rust community are one of the primary reasons I attempt to stay part of it, file bug reports, fix code, and attend conferences, in a way that I don't in communities which appear divided over whether or not it's socially acceptable to harass me based on my gender and/or medical history.
You're suggesting that it's better that we allow people to continue harassing people over things that have literally nothing to do with their ability to code, than that people feel comfortable enough to code on your project - that it's more important to make racists, sexist, and other bigots comfortable than their victims. That's your call, but to call it "uniting" is complete nonsense.
I don't. That's you misrepresenting my point of view.
I've yet to contribute to a project which holds a COC, still I've yet to see any kind of harassament or abuse based on the ethnicity, sex, religious view or age of other contributors. In fact these things have not not ever been a subject. The subject was always the code.
My opinion is that we focus on the code, the commits and not who wrote them. Simple as that. Why construe that as me supporting abuse?
Yes, that means that if a trans "woman of colour" (or whatever is PC to write these days) submits a bad patch I should be able openly criticize it the same way I would criticize it as if it was written by a straight, white male. And how would I know that? Why should I even be expected to know that in the first place?
I'm also against using a disproportionate amount of energy on explicitly focusing on these things which we all agree should not matter. Many of these diversity initiatives do exactly this, and when they do, that's just utterly detracting to the task at hand: crafting good software together.
So my opinion is that these things are counter-productive and misguided, and my point is that I've yet to see any proof that I am wrong in holding that opinion.
I think that's simple and clear enough, without the need to read any ulterior motives into it.
Edit: Clarifications. Examples.
The practice of FOSS software development is, in part, an exercise in community management. It'd be great if we could all just focus on the code - that's a significant chunk of the point of active community management, so that the developers involved don't have to worry about their safety at conferences, about harassment from other members of the community, about whether they're going to be the only POC/woman/disabled person at the meetup and how to protect themselves from everybody else there, when they just want to build software. The people who want to do more than just build software are the people who decide it'd be a great idea to use their power within the community to harass us, assault us, or more, without social consequence.
As a result of FOSS software development being a community activity, figuring out how best to run that community for the benefit of all within it is a necessity. And at some point, you'll find a transphobe and a trans person, a racist and an Indian, a misogynist and a woman, in your community, and something happens - and the question is, what happens then? Do we put huge amounts of effort into trying to teach bigots not to be bigots, or at least shut up about their bigotry within the context of the community? (Yes, the communities I'm part of do this, to a significant degree.) Do we eventually kick out the people causing the trouble, or the victims of it? Do we intentionally create segregated communities so that women never have to meet misogynists and rapists, in order to avoid kicking anybody out? Do we try to avoid conflict from happening, or do we only ever react to it when it does? These are questions that need answering, and nobody will ever agree on the answers to all of them.
I've been a part of several communities and suffered harassment in a few of them due to my gender, medical history, and disabilities. Most notable is the hacklab in my previous city where women and people of colour were regularly made to feel uncomfortable by one particular member, and nothing was done about it for months, directly losing us several potential new members. The building it's situated in, up a number of flights of stairs, has lost us multiple members over the years, due to its inaccessibility to people with mobility issues - a problem to be solved, not ignored. A number of friends have received sexual harassment at conferences - I'm picky enough about the conferences I go to that I'm lucky not to have suffered that. I'm also smart enough to figure out that when someone goes off on a rant in a project's IRC channel about how stylistic issues around gendered wording in documentation are going to bring the fall of mankind, I'm probably not going to be accepted there - if someone is that upset about a Bob being changed to a Barbara in the documentation, it's likely they have larger issues with women. I'm glad that you have not suffered any of this, and hope that continues.
What, exactly, would you accept as proof that a community has benefited from the existence of its code of conduct and other community management tools?
How does this stuff even come up? Most websites have basically anonymous usernames.
Only when I use my facebook/instagram people will call me a white male. But I dont use that for online communities for the most part, and I mention they are racist for propagating race>merit.
While I think people say they wanted to be treated equal, they dont. They want to tell everyone their story and have pitty or debate over themselves.
Because my photo exists on GitHub - like many men's - and I use my real name. I have no interest in hiding my identity when the men in the same community don't have to, and manage to receive no flack for it. I also occasionally attend conferences, meetups, and so on and so forth, and my various physical attributes are incredibly obvious there.
Individuals who I respect professionally based on their work and effort, but whose religion and sexual orientation is something I leave to be their own. Same as I leave mine my own and don't try to impose on to others.
> And at some point, you'll find a transphobe and a trans person, a racist and an Indian, a misogynist and a woman, in your community, and something happens - and the question is, what happens then? Do we put huge amounts of effort into trying to teach bigots not to be bigots, or at least shut up about their bigotry within the context of the community?
If someone is detrimental to the community because of their actions within the community, that makes the resolution fairly obvious without a need to codify this in a document focused mostly on ethnicity, gender, religion or sexual orientation.
In case a community member holds opinions outside the project which another member finds objectionable, and which that other member then actively or repeatedly brings into the project, in order to stir conflict or evict others, I also think it's fairly obvious who is causing actual harm to the community.
And in those cases I would be very cautious about automatically portraying this offended person as a "victim", because doing so will also automatically portray the other party as a offender, despite this person maybe not having any direct involvement in the "offence" at hand.
And then you've created/codified a source of polarization in your community. That's IMO even worse than occasionally having people get offended and squaring up.
Funnily enough, it's usually highly political to suggest that someone might be detrimental to the community, even when it's obvious. I constantly see women leave communities because it's less of a hassle to find a group that actively seeks to protect its members than to try and gain enough political capital and put up with enough crap to get members thrown out. The people with no personal problems in those same communities never realise that there's a problem - they never realise that their community could benefit from kicking out the bigots, or even asking them to tone it down a little. And in fact they'll often actively fight to ensure that people suffer no consequences for their actions.
The activists and profiteurs who don't code see that there exists something that they can attach themselves to and increase their personal brand.
The make life difficult for hackers and do not give a damn. They want to be political officers, because that is the only thing they can monetize and profit from.
I already replied to your other comment relating my work experience. To me, it's simple: no, you don't try to teach bigots better behavior, you reprimand them once (if their action wasn't too horrible), and after that you kick them out. Bad behavior can't be tolerated because of the effects you describe: it chases away other people. You don't need a "diversity initiative", you just need leadership willing to enforce some very simple rules of civility. If a project doesn't have that leadership, then find one that does.
>Do we eventually kick out the people causing the trouble, or the victims of it?
Again, you kick out the trouble-makers. Why is this a hard concept?
>the hacklab in my previous city where women and people of colour were regularly made to feel uncomfortable by one particular member, and nothing was done about it for months, directly losing us several potential new members.
Sounds like you (plural) needed to do something about the leadership, if possible. I'm not sure how your hacklab worked (is it privately owned, a non-profit, etc.? I don't know), but surely there was some upper management to complain to?
>The building it's situated in, up a number of flights of stairs, has lost us multiple members over the years, due to its inaccessibility to people with mobility issues - a problem to be solved, not ignored.
This sounds like a money problem to me. I've only seen a couple of hacklabs (and never got too involved) but basically they seemed to take over old buildings in a downtown area where the rent was really cheap (because the building was old), meaning these hacklabs didn't exactly have a lot of cash to spend on renovations. Putting an elevator into some old industrial building is not a cheap thing to do. If the organization doesn't have the money, they don't have the money. Would all the hackerspace members, yourself included, be willing to cough up $1000 to put in an elevator? I doubt it.
>A number of friends have received sexual harassment at conferences
This sucks, and unfortunately I don't know what you can do about that, because this isn't like a workplace or other organization where you can just identify the offenders and either discipline or eject them. It might be possible to identify them and raise their behavior with whatever organization they're representing (if any) at this conference.
I find projects that seem to care enough to kick uncivil members out by the presence of a code of conduct (very basic document that says "we welcome people, harassment is bad folks" and points at a resolution process most of the time) and leadership that's willing to talk about the issues that members of the community face. There's no other way to tell whether a community will have my back, and yet that gets classed as a "diversity initiative".
> I'm not sure how your hacklab worked (is it privately owned, a non-profit, etc.? I don't know), but surely there was some upper management to complain to?
It's a small group, 30-odd members, completely bootstrapped. Eventually I managed to gain enough political capital to convince a couple of people to talk to him, and it was eventually resolved - not before a lot of harm was done.
> This sounds like a money problem to me. I've only seen a couple of hacklabs (and never got too involved) but basically they seemed to take over old buildings in a downtown area where the rent was really cheap (because the building was old), meaning these hacklabs didn't exactly have a lot of cash to spend on renovations.
Sure - but the point is that at the very least, we acknowledged this as an issue (and continue to do so every AGM) and kept an eye out for more accessible locations, rather than - as a union that a friend is part of and that has plenty of money is doing - ignoring the needs of their members despite having the capital. I believe the hacklab is moving to a more accessible location in the near future primarily due to the increased accessibility, despite it costing them a little more money and potentially needing to raise membership costs or spend effort on recruiting new members, which is great.
> It might be possible to identify them and raise their behavior with whatever organization they're representing (if any) at this conference.
That's a wonderful way to receive more harassment from a wider group, unfortunately. The only reason people get away with this crap is that when anybody tries to do something about it, they have enough political capital that they can have it waved away as someone wanting to hurt them. It's more painful to try and do something about it and then see the same person at the next conference anyway with no apparent resolution than to just try and heal privately.
A "diversity initiative" is something else altogether, attempting to do some kind of social politics rather than focus on the work. Pushing to recruit people of certain genders or ethnicities is an example here. IMO, there should be no such thing: members should be welcomed no matter their background or physical features, as long as they can follow the simple CoC (i.e., act civility and don't harass, abuse, etc.).
>Sure - but the point is that at the very least, we acknowledged this as an issue (and continue to do so every AGM) and kept an eye out for more accessible locations
I see no problem here. You have to be realistic though, but it doesn't hurt to keep your eyes open to other possibilities.
>That's a wonderful way to receive more harassment from a wider group, unfortunately. The only reason people get away with this crap is that when anybody tries to do something about it, they have enough political capital that they can have it waved away as someone wanting to hurt them.
Hmm.. definitely a tricky problem, and an indication of a toxic culture in some places. Maybe whatever organization that person is from should be disinvited from future conferences if they apparently condone such behavior? Otherwise, your organization could refuse to attend, citing such behavior. It does seem that some people (particularly those in leadership positions) need to take a stand here. Unfortunately, it does seem that usually, positive social change only comes about because of sacrifices made by some brave individuals.
What you are describing is exactly what people want. They want to be able to do something they love and focus on that, not the rest of their world.
The issue is that some people do bring it into the conversation. It's not the choice of the people being targeted. These kinds of movements are about trying to ensure that those people can participate without having to deal with abuse.
No one is going to accuse you of being bigoted for criticising some code - that's creating a strawman.
Imagine you are trans and you offer up some changes, and they are rejected out of hand. You get a twitter DM full of abusive language. Should they have not had a twitter account with the same name as their github account where they talk about personal issues?
If you are acting as you say you are, (as most people do!), then you can ignore this stuff completely, because it won't affect you. What it will do, is ensure that people who do see that kind of harassment or abuse can get involved in the projects, and focus on the code.
Saying that people trying to stop abuse in FOSS communities are not focusing on the code is like complaining that someone getting punched isn't focusing on the task at hand. They were trying to! Blame the one doing the punching, not the one asking if we can stop them being punched.
That's would be a problem anyhow, no matter who is affected.
Your ethnicity, gender or sexual orientation is not relevant to that particular case, so why bring it up at all? Why make it the core of your argument?
And do you know what? You're protected by the same code of conduct anyway, even if you do suffer that by some fluke. The Rust Code of Conduct has one line which states "We are committed to providing a friendly, safe and welcoming environment for all", followed by a listing of example characteristics under which people are commonly discriminated against - the basic assumption being that a person who isn't discriminated against doesn't need to be told that they're welcome, they already know that they are, the same as they don't need to be told that they're welcome before they apply to university or pop into their local bar or decide to rent a place in a "nice" neighbourhood or decide to take a midnight stroll. Later, there's a reference to a list of actions which are commonly considered "harassment", which includes things like "deliberate intimidation, stalking or following", which apply to anybody. Are you a man being sexually harassed by a man, woman, or non-binary person? That's included too, under "unwelcome sexual attention"!
It's fair that they want to know they can feel safe and contribute to a project - being explicit that they are welcome is important to helping these people overcome the adversity they face.
Why is it a problem for you that their issues are voiced? You said before it was a "disproportionate amount of energy being spent", but for the people spending that energy, it's not - it's their work or hobby being messed up time and again, and they are defending it.
Beyond that, the work being done is for anybody - it's not limited to those cases - but you say yourself you don't face these problems. These issues affect some people more - so why is it surprising that the solutions focus on them (but not exclusively)?
>You're suggesting that it's better that we allow people to continue harassing people over things that have literally nothing to do with their ability to code
I don't know about your work situation, but I work in a pretty conservative industry as a software engineer, and many (but definitely not all) of my coworkers are probably Trump voters, and certainly conservative. But there's also women here, Muslims, one guy who's physically disabled, etc.
We don't talk about politics at work here, nor have I heard much open talk about politics in my last workplace that had a bunch of conservatives. People focused on the work. I certainly haven't seen any kind of harassment of people of religious minorities, people with medical problems, or women; everyone seems (and seemed at the previous jobs) pretty happy with the workplace. But there haven't been any "diversity initiatives"; they just seem to hire the best applicants, given the conditions they have (who's applying, etc.) and their goals (wanting to hire a certain number of "fresh-outs" for instance).
Why you seem to think that you need "diversity initiatives" to prevent harassment is completely beyond me. You don't need diversity initiatives to make sure people act civil towards each other and treat their coworkers with respect. In fact, most workplaces with college-educated professionals seem to have little trouble with their employees acting poorly this way. When they do, they get reprimanded or fired.
You do, in fact, need active community management in order to convince some minority of people to treat each other with respect if there's otherwise no downside to failing to do so.
But I completely agree about needing active management. I think this is true for any organization. You're just not going to get good results if you don't have some kind of leadership keeping people in line.
And again: It detracts from what should be the focus: code.
> Our open source community prioritizes marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding: Our open source community prioritizes marginalized people’s safety over privileged people’s comfort. We will not act on complaints regarding:
> ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’"
So if someone white or asian, straight or "regular" gay, of regular sex, or whatever are explicitly excluded from a community initiative and someone finds that objectionable, their COC says that kind of racism and sexism is OK.
> Refusal to explain or debate social justice concepts
If you have problem with such principles, that's also not acceptable to discuss. Hardly a healthy environment for open debate.
I think more people need to acknowledge that these COCs are
1. Controversial as opposed to universal. Trying to frame it as universal, and then excluding anyone who disagrees with that, just shows that it by definition is the opposite of inclusive.
2. The noise generated from the above controversy is detracting from other work on the project.
IMO such measures should be avoided at all cost, as far as possible, especially considering how most FOSS projects are healthy, an that in most cases controversy like this is not needed and will do more harm than good.
> If you have problem with such principles, that's also not acceptable to discuss. Hardly a healthy environment for open debate.
This is funny in a way because I said these things encouraged toxic discussions and exclusion of non-agreeing view-points. And now this entire thread is flagged.
Way to be proven right, I guess.
However, another reading of these facts could be that they the maintainers are human and have limited bandwidth to deal with such problems. If you observed that there was a high frequency of erroneous complaints that wasted your time citing "reverse-isms" you would be right to exclude them. Similarly if a lot of people wanted to try and bring you into debates that you didn't feel were productive, you would also ban those discussions.
I'm sure if they similarly experienced any cases where, say, cis white men were genuinely discriminated against, they would then revisit the code of conduct.
I tend to think code of conducts try and say that a community will be accepting and inclusive of people within it. They are made by people with limited bandwidth trying to do their best to deal with discrimination and harassment problems as they come up.
> So if someone white or asian, straight or "regular" gay, of regular sex, or whatever are explicitly excluded from a community initiative and someone finds that objectionable, their COC says that kind of racism and sexism is OK.
Here is the crux of the matter. Their code of conduct does not explicitly ban the behaviour you outlined. I would not say that the code of conduct says that is ok. The code of conduct does not explicitly ban fox hunting, but I do not take it to say that it condones that. If the group started to have a problem with fox hunting disrupting all of the planned work and activities it would move to stop that.
To me it sounds like the group may have started having a problem with people wasting time by trying to incorrectly cite "reverse-racism" e.t.c. as a method of causing harrassment and moved to stamp it out. Seems very reasonable to me.
I kinda agree. Instead of solving the problem, it only digs worse.