
My experience being a solo maintainer of open-source software in academia - fanf2
http://www.pgbovine.net/python-tutor-ten-years.htm
======
tastroder
Maybe to toss in a counter point here: I occasionally use Python Tutor for my
lectures and highly appreciate the fact that this researcher takes time out of
his day to a) keep it running and b) has opened the source to the world. While
I have not forked it because it runs well enough I looked at the code several
times over the years when I wondered about how he implemented some aspects of
the system.

This is online since 2010 if I remember correctly, it runs longer than a bunch
of FAANG services that came and went. If people want to be snarky, please try
a little harder to find a target that deserves it. Not every open source
repository out there needs a fancy set of badges and hyper-responsive end-user
support forum and the author is pretty clear about his intentions (heck,
you're discussing a blog post stating exactly why and how this worked so well
for 10 years).

~~~
lazyjeff
Keeping a web application running for 10 years is amazing. How many people
here can say they have done that? There's still things to do even if you add 0
new features: there's security updates, supporting new browsers (IE7 was the
latest browser in early 2009), upgrading the server and package dependencies
that are out of date, renewing the domain name, fixing various disk/memory
errors that pop up, and even setting up a downtime notifier.

Mobile apps basically expire in 2-4 years due to new permission models or the
everchanging APIs. Web applications keep changing until one day they are
bought by another company and either disappear or get redesigned into
something unrecognizable. Out of the ones I use, only Craigslist and Reddit
have remained relatively unchanged for a long period of time.

I find that even maintaining a website with no backend is time consuming. The
links start to rot, you forget how your pages link to each other, new device
form factors emerge, the images/js/stylesheets that were hotlinked start to
break, and some company you rely on goes out of business or needs to "verify
your login" with some forgotten information (a company like your registrar,
ssl provider, web host, credit card processor).

I'm starting to think that for a solo maintainer, the less tooling you use the
better. For my own pages, now I try to stick with a single index.html page,
simple non-minimized html/css and maybe a bit of js but avoid
jquery/bootstrap/googleanalytics. I would love to see more web pages optimized
for long-term maintainability than aesthetics or fitting some web programming
paradigm/toolchain.

------
open-source-ux
_" In practice, I rarely reply to emails or GitHub issues, even if the sender
sounds sincere. I've found that once you start being nice, some people will
keep asking for more and then get angry when you don't keep volunteering your
time.

Silence is the only scalable solution. I know that not making myself available
feels unwelcoming and not inclusive; but I'm paid in my day job to serve
students at my own university, not strangers on the internet who are using
free software that I maintain in my spare time."_

An interesting comment given past discussions on Hacker News about how
demanding some users are about open source software (these users often tend to
be other developers too).

~~~
bachmeier
Warning: Critical remarks coming

"Python Tutor's large international user base provides a unique platform for
my research. This work has collectively led to almost a dozen research papers
and several major grants so far."

In other words, he wants the (extremely large) benefits of an open source
project but doesn't want to waste his time on those that don't have value to
him.

He's running a startup with a $0 price tag rather than an open source project.
He doesn't deserve to get any credit, it's something he does purely for his
own benefit, and he's giving open source projects in general a bad reputation.
Nothing that he's said is a justification for ignoring communication.

~~~
UncleEntity
> In other words, he wants the (extremely large) benefits of an open source
> project but doesn't want to waste his time on those that don't have value to
> him.

No, he benefits millions of users and is intentionally not taking "the
(extremely large) benefits of an open source project" by stating he hasn't the
time to deal with outside input.

If the source was closed and people could just use the (free) website nobody
would care but since its open source he suddenly owes the world something?

~~~
bachmeier
> No, he benefits millions of users and is intentionally not taking "the
> (extremely large) benefits of an open source project" by stating he hasn't
> the time to deal with outside input.

I have no idea what this means. _He wrote in his post_ that he does it for his
benefit, and that he ignores most people because it doesn't benefit him to
respond.

> If the source was closed and people could just use the (free) website nobody
> would care but since its open source he suddenly owes the world something?

Ignoring sincere communication has nothing to do with a software license.
That's being a jerk. The choice of software license doesn't give you a right
to be a jerk.

This is yet another one of those situations where someone is well known in the
open source world and his fans think that excuses being an asshole.

~~~
pgeorgi
> He wrote in his post that he does it for his benefit

He benefits from the software existing. He benefits from deriving a paper or
two from running the platform. Neither has to do with it being open source.

The open source aspect benefits users only.

> The choice of software license doesn't give you a right to be a jerk.

It doesn't give anybody the right to contact the author, either.

Since "jerk" in this context means "not responding to sincere communication":
if you send a sincere email to the CEO of IBM because you have proposals on
how to improve SPSS (a tool that, as economist and professor, you're certainly
familiar with), do you expect a substantial answer that isn't driven by the
CEO's extensive staff and PR department?

Give that man a secretary and PR department and I'm sure he'll answer all
communication.

------
bransonf
It’s sounds like a lot of issues could be addressed if the development of
Python Tutor was sponsored.

I’m all for open source, but that doesn’t have to mean free. If millions of
people use something, and get value out of it, they would only be right to
return a small amount of that value.

Particularly the point about never responding to issues/emails. Would you if
they came from sponsors?

But to counter my own point, this is academia, which is all about doing what
the individual wants/deems important. Dr. Guo would probably turn down the
money for the same reason he doesn’t want to excessively maintain/improve this
project.

~~~
gumby
Being sponsored would likely conflict with his real objective which is to get
tenure. Someone could forget and perhaps be sponsored; I imagine that might
happen down the road when the author becomes too busy to keep it running
himself.

------
marmaduke
I don't agree with the parting thought, though. If you, as a PhD student, do
make your project open source, document it and make it useful for others, and
in so doing, get a bunch of citations, you have an immediate career boost. How
likely that is, is another question

I am in a similar position as the author, some software I helped write on the
side during my thesis is the only recognized remnant and actually got me my
current job (tenured staff scientist)

~~~
mattkrause
How do you address the issue that publications and citations are a one-and-
done “reward”, while maintenance can go on forever. Do you publish a new paper
every few years (“Marmaduke’s Modules 3.0”), so that you can show
‘productivity’?

I know that this is a hack to fit software into the usual credit scheme that
academia uses. However, being a software maintainer might be more like being a
journal editor (another category that gets you some points for
tenure/promotion), especially since both having ongoing responsibilities.

~~~
ken
Because the exchange rate isn't 1 release : 1 paper.

When I worked as a programmer in academia, my lead professor said he'd had
some folks from the computer science department over to look at what we were
doing, and they commented that there were at least a couple of PhDs and 5 or 6
masters theses in there.

I don't know if that's true (and I didn't stick around long enough to find
out) but I know that fully organizing and documenting every bit that I'd done
would take many times longer than writing it in the first place.

~~~
mattkrause
I'm not even sure there _is_ a fixed exchange rate, but if there is, I think
it's >> 1 release per paper[0].

I can definitely imagine writing a paper for the first major release. If the
software solves an pressing scientific problem (e.g., replacing laborious
experiments with accurate simulations) or shows off a new algorithm, the paper
itself might be a big deal.

Subsequent versions seem trickier. You could certainly publish big technical
advances, like a parallel version of the core algorithm. I'm not sure what you
do for more routine maintenance and incremental improvements (e.g., bug fixes,
more import/export formats, better UI). There are specialized journals that
might take these "reports", like the Journal of Open Source Software, but I'm
not sure if a CV of JOSS papers would give you a viable career.

[0] If I had to guess, I'd bet there were multiple PhDs in the _topic_ you
were working on. While the code base would be a good start, there's a lot more
to a research degree than organizing and documenting some code.

------
drfuchs
Given everything he says, why does he bother to keep it open-source at all?

~~~
jsty
Given the quote "I don't have time to review any outside code contributions or
GitHub pull requests. Feel free to fork the code." I'd hazard a guess he's
fine with people building atop his work, just doesn't want the time-sink of
reviewing + merging those contributions into his tree and maintaining them.

As he states others have indeed done so and built research projects atop it,
it would seem to be worth keeping open source.

------
zozbot234
More like a non-maintainer than a maintainer, TBH. It would be far more honest
for him to write "this code is being provided in the hope that others will
find it helpful, but is otherwise totally unmaintained! You should _not_
expect replies from me to any inquiry, feature suggestion, or possible
contribution. Feel free to fork the project and take up maintenance yourself."
I mean, it's effectively what he's doing, so why not just say it outright?

~~~
mkj
It's pretty far fetched to claim a web program running for 9 years is
unmaintained software. It's maintained in the direction desired by the author
to keep working, that's plenty.

