Looking for new maintainers for *.purescript.org

Try PureScript and Pursuit have seen very little operational maintenance over the last year, and I want to start looking for new maintainers. I think it would be good if the relevant people could agree about how these things should be operated, funded etc., so I’m not going to hand over anything until I get some sort of consensus established and a rough plan, but I think it would make sense to aim for something in the next 6 months or so.

Let’s use this thread to discuss options?

I’d like to take the lead on this. I’d suggest giving all of the core maintainers SSH access, to increase the likelihood of someone being available to investigate an issue at any given time. I’d also like to make deployments as automated as possible, so that SSH access isn’t actually required as long as things are running normally, as I would like to avoid a situation where only one person / a small group of people are able to perform deployments in this case. That’s probably a longer term goal though.

Where are they hosted now? Is it just these two apps we need to deal with? Also how are you doing DNS - is there an easy way of allowing others to fiddle with the *.purescript.org DNS configuration, or do you think it might be easier for you to continue being solely responsible for that?

What is the running cost at the moment? It’s fairly small, right? I think we might be able to get our employers to cover these costs if we ask nicely and put notices at the bottom of the relevant pages (“hosting sponsored by whoever”).

Everything is hosted on one Linode 2G machine, and DNS and domain settings are configured manually in Namecheap. The simplest thing would probably be to move things to a new machine, and for me to keep the domain name and switch over the DNS. Later, we could probably move the domain name too, once the current one expires.

Cost is $20/mo for the Linode box, plus the cost of the domain name and DNS registration annually. SSL certs are issued by Let’s Encrypt, so they don’t cost anything.

It might be simpler to automate things on AWS with Route53 etc., I’m not sure.

1 Like

I’d be quite keen to help out.

I am fairly up on Unix server administration, know nothing about AWS and my Purescript knowledge is getting there slowly but surely - but I would be happy to help in any way that would be useful.

1 Like

The simplest thing would probably be to move things to a new machine, and for me to keep the domain name and switch over the DNS.

Yes, I agree. So I guess the ball is in my court for getting a new machine spun up.

I don’t think any form of DNS record management automation will be worth it for what we are doing; we only have a few subdomains and they aren’t going to change very often.

I would also like to be involved. I, along with @chexxor, maintain the Discourse instance, and I’d rather that and other *.purescript.org resources be held by a PureScript organization instead of a private server.

I don’t have any answers around funding except that:

  • I think it’s worth revisiting the idea of an Open Collective account if we are going to accept funding
  • I’m happy to pitch in the equivalent cost of running the Discourse each year as my contribution, or more
  • I think we should be open to corporate backing, as many of us work at organizations which are deeply invested in PureScript
  • This funding could go explicitly to our community resources, meaning hosting, bandwidth, etc, to keep the scope small

I see the costs to run *.purescript.org are small. We’re talking about $240/yr at the moment. But a PureScript organization with some funds can ensure that an uptick in usage doesn’t run anybody in particular dry.

I’ve seen a number of reports in Slack about intermittent Pursuit outages; I think that warrants a deeper look into whether the Linode box is sufficient. I don’t know if there is any monitoring on that server that would reveal the issue. This may end up increasing the cost.

I agree with @hdgarrood that it makes sense for a small group of maintainers to have SSH (and repository access) to manage these resources, and ideally changes to the repositories automatically deploy. That group of maintainers could have a Discourse area as a communication channel to discuss issues, as well.

Unrelated to the infrastructure maintenance of the *.purescript.org organization, I also care deeply about PureScript documentation and resources and things like try.purescript.org being up to date and usable and would like to broaden access for folks to help out and get updates made to them.

@paf31 As these resources are currently yours, how did you envision handing things over to the relevant people?

2 Likes

@thomashoneyman that all sounds good to me. How is this Discourse instance hosted at the moment?

The Pursuit outages are definitely deserving of investigation. I’d be quite surprised if the conclusion turned out to be that it genuinely needs more resources (as opposed to a bug which is making it crash, or making a particular query eat up far more resources than it should, or something like that), but I guess the first step should be making a proper diagnosis.

What do you mean by *.purescript.org resources being held by an organization rather than a private server? I’m not sure what the concrete differences would be unless we are talking about setting up a PureScript organization as a proper legal entity, which I am a bit less enthusiastic about.

How is this Discourse instance hosted at the moment?

It’s hosted on a Digital Ocean server owned by @chexxor, and I perform updates via ssh.

What do you mean by *.purescript.org resources being held by an organization rather than a private server?

I mean this conceptually, not legally; a group of people (the organization) has the ability to manage *.purescript.org resources because that group has the knowledge and access necessary to do so. I would rather that things like Try PureScript, the Discourse, Pursuit, the home page, etc. are opened to that group both wrt maintaining the repositories and access to perform maintenance on the server.

I’m not endorsing a legal entity, if only because I don’t know what that would entail.


EDIT: Though, now that I think of it, an informal group of maintainers might not tangle well with accepting funding. For now costs are so low that funding is more of a side issue than anything else, so not a problem, but perhaps we’ll require something more formal in the future. For the time being, perhaps a responsibility of being a ‘maintainer’ could include pitching in for the infrastructure costs. With 4 maintainers that would work out to about $5 a month each.

2 Likes

I actually do think accepting corporate funding deserves a try. I don’t really like the idea of expecting contributors to contribute financially in addition to how they (we) contribute already. I think OpenCollective could work for us: one person would pay for things like server costs and domain names from their own accounts, and then they could submit receipts and be reimbursed via OpenCollective. There might only be one person with access to the payment details or whatever but in practice I don’t think that would be a problem; it’s the actual server maintenance part which I’d like to have not just one person responsible for.

1 Like

@chexxor since you talked about OpenCollective in the past: do you know who has access to the PureScript collective https://opencollective.com/purescript at the moment?

I don’t know who access to that OpenCollective name, no. I believe OC has special programming to support GitHub orgs or projects to automatically allow someone with maintainer permissions to gain ownership of the OC page with the corresponding name. So I’d ask people who had those permissions to the “purescript/purescript” project back when that topic came up.

1 Like

Pretty sure the company that i work for (as a contractor - i don’t speak for them at all, of course) would like to kick in at least some $$$ for server costs and so forth. I know we’re all continuously surprised and grateful at both quality and quantity of maintenance from the community, especially core contributors.

1 Like

I actually do think accepting corporate funding deserves a try.

I do as well, so long as it doesn’t introduce any legal busywork. I will have to educate myself more about how Open Collective handles this, though.

Here’s what I’m hearing in this thread so far:

  • A group of maintainers, approved by @paf31, has access to a server which manages the *.purescript.org resources and to the relevant repositories
  • Infrastructure costs are covered by a PureScript Open Collective account, funded by companies which use PureScript

Next steps include:

  • Anyone else who is interested in helping maintain the projects mentioning that so that @paf31 is aware of them and can eventually sign off on the group
  • @hdgarrood setting up the new server (having already volunteered to do so)
  • Someone with maintainer access to purescript/purescript seeing if they can claim the open collective account (@hdgarrood again?)
  • @chexxor and I moving the Discourse over to the new server

And once some of these steps are completed, there’s:

  • The new group of maintainers should receive SSH access to the server and maintainer access to the relevant repositories (like Try PureScript)
  • Those of us who believe our companies will support PureScript-the-organization asking the relevant people in our organization for a monthly or yearly pledge

Side note: especially with all his work to improve Try PureScript last year, I’d like to nominate @natefaubion to be a part of this as well.

1 Like

I had forgotten about the server hosting the Discourse instance when I said I’d get a new one spun up; now that I’ve been reminded that it exists, I wonder if it might make more sense to leave Discourse where it is, and move Pursuit and Try PureScript over to the same server?

I’ve managed to claim the PureScript OpenCollective account by the way: https://opencollective.com/purescript.

3 Likes

I was hoping to move over to a server on an account owned by maintainers@purescript.org or something like that, with access given to other email addresses (person1@purescript.org, person2@purescript.org). Kind of like an admin / moderator relationship, where the maintainers account owns the server but the others can access and make adjustments. Each person in the maintainer group would get a purescript.org email address.

As things change over time and maintainers come and go, the maintainers account would remain the single point of access for things like Open Collective and the server, and the other maintainer email addresses would remain active so long as the maintainer does.

This wouldn’t in any way reflect a legal organization, but would at least make resources like the server be conceptually “PureScript-owned.”

Great work on the Open Collective account! Now to become a backer…

Hmm… I can’t see people using @purescript.org email addresses and I don’t understand what they would give us here. I definitely don’t want to maintain an email server, and I don’t think the cost of paying someone to host one for us would be worth it. Existing cloud hosting solutions already give you the ability to allow multiple users to access a particular acount with different access levels: for example, at work, all of the devs are able to create, destroy, and monitor individual ‘droplets’ (VMs) in our DigitalOcean account, but only one or two can access the billing information and other admin settings (eg droplet limit).

So it turns out OpenCollective only supports payouts via PayPal, which is a pretty huge turnoff for me. I don’t have a PayPal account right now and I really don’t want to sign up for one.

Oh wait, turns out I do, and I had forgotten about it. Never mind.

That’s reasonable. With decent access control I suppose the emails are an unnecessary hassle. Fine by me! @chexxor, what do you think of migrating the DigitalOcean account in this way?