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.
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.
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.
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.
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/purescriptseeing 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.
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.
I was hoping to move over to a server on an account owned by
email@example.com or something like that, with access given to other email addresses (
firstname.lastname@example.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?
While custom domain for emails would be cool, I don’t know of any tools which restrict or permit account access by a user’s email domain, but instead simply by inviting people to a group using arbitrary email addresses.
Yeah, that sounds good. Several months ago I created a group in DigitalOcean named “PureScript Community” and moved a snapshot of the existing Discourse instance over to it, but I discovered the new instance rehydrated from that snapshot had a new IP address, which meant I couldn’t change the https://discourse.purescript.org DNS entry to point to it. I believe that was the only blocker for doing that.
@hdgarrood, did you create a group for this on your account? I don’t know whether who creates the account affects anything, or if ownership of a DigitalOcean group can be transferred.
For what it’s worth, Namecheap gives us free email forwarding:
@chexxor yeah I created a group a couple of days ago. Up to you: I’m happy to use the one you created already, or to invite you to the one I created. It might be easier to use the one you created already if you already have a snapshot with Discourse all set up.
Oh also, another thing that occurred to me is that it might be nice to put each app on a separate droplet, for the sake of security, easier monitoring, and so that if one app misbehaves it doesn’t affect the others. But that might cost more and complicate things a little. Perhaps we should just get the Discourse instance up and running first.
Something I mentioned before but just want to reiterate here — in addition to server access, members also ought to have access to the repositories for things like Pursuit, Try PureScript, the website, etc. in order to make updates for things like new releases.
Ah yes, that’s easy, I’ll do that now.
I invited @hdgarrood to the DigitalOcean Team I used for the instance hosting Discourse. We might need to cooperate to move the instance from my DO account to the Team one because it involves taking a snapshot and transferring it, which can mean posts to the old instance would be lost while the new one gets up and DNS pointed to it.