Maintaining a package & free work

As a side note, I remain fascinated by this idea that releasing under a free software licence implies doing “more free work”. I still can’t resolve the two issues that, one, I know you to be an intelligent person, and two, that there seems to be a simple way of avoiding free work, which is to not do free work.

In any case, no need to reply, you don’t need to explain. I just felt compelled to share my fascination.

4 Likes

this kind of support is an example of the “more free work” I was talking about, FWIW

Sorry, what support?

To be clear, I’m not disputing that open source maintainers are often asked to do free work. I’m just puzzled by the idea that it’s difficult to avoid actually performing that work.

And to reiterate, I’m not asking for a reply, and certainly not a “justification”. (Perhaps you’d consider those “work”.) You’re free to do as you wish, of course. I just can’t understand the logic underlying your policy, and I felt like expressing so.

1 Like

To add to this: the licenses make it clear for others what they can or can’t do with the code you released. They don’t make you do more work.

1 Like

I can see it to be honest. While there is obviously the option of just not doing it, generally people are human and seeing others report issues, putting in feature requests or pull requests invokes a certain social pressure to review and respond to them.
Which is a good thing generally speaking. Human social dynamics are based on reciprocating efforts (favors, services, whatever) and the whole of open source is built from that in a significant degree.

But with having to pay to live and reciprocity being a bit weird on the internet, I can really emphasize with this.

I like to use new GHC versions fresh off the press, which oftentimes surfaces the fact that many libraries are not as well maintained as they probably should be. Sometimes the maintainers are gone for one reason or another, other times they just lost interest. And that’s okay, but it also kinda sucks for everyone who uses the stuff. (Other ecosystems have different flavor of this problem, but it’s everywhere)

So if you put something out there that’s cool, people will start using it, which puts a certain responsibility on you as a maintainer. And most people will have a hard time ignoring this without feeling bad about it (if they even want to).
Such is the curse of doing something people actually use.

9 Likes

I can see what you’re saying, but in a sense your claims are inconsistent. As you say, many Haskell packages have maintainers who are absent or who take a long time to respond to enquiries. Doesn’t that simply demonstrate that an open source licence doesn’t imply that maintainers must do “free work”?

But I take your point that many people feel compelled to satisfy people’s requests of them[1]. If Syd had said “I know that I have difficulty saying ‘no’ and licensing my packages using a non-free licence is the only way I can avoid getting caught up in a situation I don’t want to be in” then that would be understandable and relatable, like someone who has a difficulty with alcohol saying “I don’t go to bars because it’s the only way I can avoid getting caught up in drinking”. It would also suggest some potential mitigations: perhaps some members of the Haskell community could volunteer to be front-line “support staff” for Syd’s free-licensed packages to relieve him of a burden. But he hasn’t said that, so I still don’t fully understand.

Thanks for sharing your perspective though. I believe it’s important for the community to learn how to support our contributors.

[1] sometimes expressed as “difficulty saying ‘no’”

3 Likes

I would like to share my perspective about free work (perhaps orthogonal to Syd’s post, so no criticism of other’s people choices).

It’s an unfortunate property of the Haskell ecosystem that almost all work is done by volunteers in their free time. The only thing the community can do to mitigate the negative impact of this property is to reduce the development and maintenance burden on people while encouraging people who use Haskell (instead of discouraging them).

Some things developers can do by themselves (e.g. care less about the base constraints), but with some things upstream can help as well (e.g. break less stuff).

I did lots of free work in the past and had burnout. I now use GitHub and OSS as “developing in public”. If I want to write a package, I can put it on GitHub so others can take inspiration, learn, fork, and hack. But I’m not obliged to do work for others.

I understand that by publishing code on GitHub, I open myself to the possibility of receiving new issues and PRs but I’m okay with these trade-offs. So far, I developed two mechanisms to cope with the amount of unasked work:

  1. I put the following DISCLAIMER in all my OSS repos:

  1. I use this wonderful GitHub button:

unsubscribe button


I still think that there’re only two ways to solve the “Haskell is mostly done by volunteers” problem:

  1. Get enough money to sponsor the maintenance work.
  2. Establish community ownership of packages where people can come and go to support the maintenance of all used packages and keep them alive.
5 Likes

I think this is a good article on open-source maintenance, especially the “Maintenance level” section.

Encouraging people to orphan packages — happens all the time in Debian — would bring a healtier maintenance spirit to Haskell and a more reliable experience to user.

2 Likes

I think if you don’t intentionally offer malicious code, you have no obligations whatsoever. After all, people are free to fork your code and adapt it to their needs. If people had to make any commitments (even if only perceived ones) when releasing code, we would probably have less open source code available.

There are people with very high standards who write good code, but at the same time are afraid that their code will cause problems. I don’t think we should make the decision even harder for such people.

1 Like

The only thing I expect from maintainers is to be loud and clear about their commitments to their projects. Don’t have time, got children, lost interest? That’s fine, just leave us a short message. But I totally understand that they don’t owe me even that :slight_smile:

7 Likes