
Why I'm leaving Open Source - gbrown_
https://ticki.github.io/blog/why_im_leaving_open_source/
======
DoreenMichele
_There is a couple of reasons for my choice. My main reason is that I have
chosen to pursue a career in mathematics research. This is an extremely tough
field and with this decision, I have no way of continuing my involvement in
these very time consuming projects._

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.

------
hardwaresofton
This is probably the kind of person you _don 't_ want to cut ties with open
source too often. Good software, from research to implementation takes a huge
amount of resources (both people-hours and people to put in those hours), and
the kind that measure 20 times before making 1 cut are some of the most
important, because they are the type that should be in charge of the types of
early design decisions.

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".

~~~
jstimpfle
In the first place, good software is software that _exists_. I don't know
ticki or his work, but if it is vaporware what he calls vaporware, then there
is no way for it to be good software.

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.

~~~
hardwaresofton
I don't agree with the notion that software has to be finished to be good
(which isn't exactly what you said but the implication seems to be there).
Taken literally, software that is unfinished (i.e. unusable) cannot possibly
be good, obviously, but software that was been theorized but didn't
necessarily exist in finished form until relatively recently is pretty common.
If you don't want to make a bundled mess of spaghetti design,
theory/play/experimentation that doesn't necessarily turn into a functioning
project is crucial, ideas are sometimes reused/refactored into a project that
_is_ completed.

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](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.

~~~
jstimpfle
My statement was about software, not about what can be learned from failed
projects. Sure experimentation has value, even if it only leads to the insight
that theory can rarely be applied to software in materialized form. And I
think that's the gist of the post.

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.

------
nartz
A 100% out-of-context-single-data-point suggestion: Seems like the author has
a lot of great ideas, but would benefit greatly from increased collaboration -
getting the proper feedback, morphing ideas from theoretical land into
reality, and also benefiting from the mindshare (and energy) of others - even
something as simple as getting another pair of eyes to help debug. Most big
things are built by teams, not by individuals (even if the contributions are
skewed).

Every time an open source developer stops working, a star burns out somewhere
in the universe.

~~~
WhitneyLand
@nartz, thank you.

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.

------
WhitneyLand
If you go a month without being able to find a bug in an algorithm/problem
that you already understand in principle, it seems often a result of not
talking to others enough.

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.

~~~
TimJYoung
Ha, it's so funny that you mention this. My wife isn't a Luddite, but she's
not a developer, either. I narrate design issues I have with our products to
her, and she patiently lets me work through the issue out loud, although I'm
not quite sure she would love being associated with a dog in this respect. :-)

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.

~~~
WhitneyLand
Oh dear, please don’t infer any disrespect. I’m sure she is adding much more
value than the dog, if for no other reason than you are forced to articulate
things more cogently.

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.

~~~
TimJYoung
No worries, I did not take your comments that way _at all_. In fact, we both
just had a good laugh again about the subject when I mentioned that it had
come up here.

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. :-)

------
devnonymous
Reading the comments here one would not think that the post is about someone
who

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

------
legostormtroopr
Who is Ticki? Why is this important?

~~~
twic
Ticki was an active member of the Rust community, whose contribution was
energetically and cheerfully campaigning for ambitious features. Sometimes
perhaps a little too ambitious, but that's a useful kind of person to have in
a community.

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...](https://github.com/ticki/rfcs/blob/pi-types/text/0000-pi-types.md)

Outside the core project, Ticki was involved with RedoxOS, an OS written in
Rust:

[https://github.com/redox-os/redox#-ecosystem-](https://github.com/redox-
os/redox#-ecosystem-)

Particularly the TFS filesystem:

[https://github.com/redox-os/tfs](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!

------
jordigh
Anyone know what kind of mathematics Ticki will be doing? Talking about
correctness makes me thinks she or he is going to gravitate towards logic and
foundations and the sorts of mathematics that computer people usually like. I
ask because as someone who works with computers and doesn't prefer computery
mathematics, I'm always looking for a kindred spirit.

------
bgongfu
I spent decades perfecting my code, never got anything worth mentioning done.
To me it was important to realize that it's a way to escape reality, to
protect the fuzzy bubble of intellectual masturbation. Truth is; if it doesn't
work, no one cares; and rightly so. These days I try hard to stick with
solving actual problems and continuously improving solutions; writing code
like marathons rather than 100m sprints, growing it like a garden rather than
constructing cathedrals.

------
daenz
This reads me like the lowest part of a burnout episode. I don't mean to
trivialize the author's experience...I'm sure their experience and what they
are describing is very real. But when you're experiencing a defeat (even a
defeat not caused by a single specific event), it can compound the whole "what
am I doing with my life" feeling.

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.

~~~
mycomments2017
> But when you're experiencing a defeat (even a defeat not caused by a single
> specific event), it can compound the whole "what am I doing with my life"
> feeling.

That's a very interesting perspective. You're suggesting that 'a burnout' is a
consequence of series of defeats. Interesting.

------
devgutt
> Perfectionism makes me a poor Open Source contributor.

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.

------
whataretensors
Most open source projects lose money for the authors. There still isn't a good
funding model for open source or open research. These tools are invaluable to
developers, and open-source 'vaporware' is R&D.

We really should figure out a way to compensate open source authors.

------
tzakrajs
The scrolling on that page was at times not working on my Android device.

------
nukeop
From the man who brought you "The Case for Non-Binary Genders" last year. No
thanks.

~~~
dang
Since you have a history of posting flamebait and personal attacks to Hacker
News and we warned you about it before, we've banned this account.

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.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

~~~
nukeop
Ok, I won't argue with that.

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.

------
josteink
Replying to a flagged/deleted comment from "nukeop":

> 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...](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.

~~~
vertex-four
Should we accept the status quo in all cases because somebody might speak up
in upset?

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.

~~~
josteink
> 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. 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.

~~~
vertex-four
Who's writing that code? Do individuals write code and throw it over the wall,
never having to talk to another soul? Or does it come from a community of
people who have to interact with each other?

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?

~~~
josteink
> Who's writing that code? Do individuals write code and throw it over the
> wall, never having to talk to another soul?

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.

~~~
vertex-four
> 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.

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.

