Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

We'd like to support dhall-lang! #624

Closed
JohannesRudolph opened this issue Jul 5, 2019 · 12 comments

Comments

@JohannesRudolph
Copy link

@JohannesRudolph JohannesRudolph commented Jul 5, 2019

We're very happy users of dhall and my company would be happy to contribute to dhall in some meaningful way. We already encourage our team to work on code/bug/docs contributions, but if there's some "sponsoring"/donation options, resources, or similar we could provide to help dhall-lang move forward, please let us know and we'd love to work it out.

@Gabriel439

This comment has been minimized.

Copy link
Contributor

@Gabriel439 Gabriel439 commented Jul 5, 2019

@JohannesRudolph: What's the easiest funding mechanism for your company to use to fund things? i.e. support contract vs. recurring funding vs. software bounty, etc.

@JohannesRudolph

This comment has been minimized.

Copy link
Author

@JohannesRudolph JohannesRudolph commented Jul 6, 2019

We're new to this as well - that's why I said we'd love to work it out ;-) Here's some quick thoughts, haven't made my mind up yet so nothing set in stone.

  • I'm guessing that bug/feature bounties are difficult to operationalize because there are too many decisions involved.
  • A support contract is something I can easily justify to the company because we're getting something tangible in return. The upside for the dhall project would be that it provides some sort of recurring revenue stream rather than a one time thing.
  • I also want to make sure that we support some kind of a community consensus and not snowflakes that no one else is interested in (i.e. we want dhall to stay "coherent")
  • I guess that it's very useful to have a way to discuss questions in private (i.e. within the context of things we work on, which may be confidential) and then have someone filter, abstract & aggregate these things into the community for public discussion.
  • Recurring funding/donation: I guess our accountants will want this to be tax deductible etc., which may make things more complicated
@Gabriel439

This comment has been minimized.

Copy link
Contributor

@Gabriel439 Gabriel439 commented Jul 7, 2019

Other people can chime in here, but from my point of view the main things we do that benefit the most from funding are:

  • Fixing long-standing issues in language-agnostic command-line tools

    Examples:

    • Fix dhall format stripping comments
    • Optionally disable dhall-to-yaml sorting keys
    • Improve performance of Haskell implementation, which benefits dhall-to-{json,yaml}

    This benefits most from a support contract model

  • Paying people developing and maintaining language bindings

    This benefits most from a recurring funding model (i.e. Patreon or Open Collective)

My general sense is that the former category (support contracts for fixing specific issues) is probably the most appropriate category for corporate funding, whereas the latter category is probably most appropriate for non-corporate funding (i.e. small donors solicited via social media).

So if the support contract model sounds okay with you I will try to look into what is involved in setting that up and then we can use that to fund targeted improvements to the tooling.

@Gabriel439

This comment has been minimized.

Copy link
Contributor

@Gabriel439 Gabriel439 commented Aug 31, 2019

Alright, so after some searching it appears that Open Collective does exactly what I was looking for.

I created an Open Collective page for Dhall:

... and added several contributors for people recently active whose e-mail address I have:

I need e-mail addresses from the following people if they want to also be able to join as contributors in order to submit expenses:

Here is the first draft of the expense policy (feel free to suggest any changes):

Expenses need to be pre-approved using the same process we use for approving changes to the standard. See:

https://github.com/dhall-lang/dhall-lang/blob/master/.github/CONTRIBUTING.md#how-do-changes-get-approved

Guidelines for expense limits:

  • $700 for each one-time expense (e.g. a bug/feature bounty)
  • $100 / month recurring expense (e.g. pay for hosting or build machines)

We do not yet cover stipends for contributors

You can pre-approve an expense by creating a Discourse thread:

https://discourse.dhall-lang.org/

... answering the following questions:

  • What purpose is the expense for?
  • Is this a one-time or recurring expense?
  • What is the amount that you wish to expense?

Don't be afraid to ask! We'll do our best to work something out

I haven't changed the suggested contribution tiers yet, which currently default to:

  • backer: $5 / month
  • sponsor: $100 / month

... but I also welcome any suggestions for how to structure suggested contributions (including suggested amounts). For example, Open Collective lets you configure other categories of suggested contributions, such as:

  • Membership (recurring)
  • Service (e.g. support)
  • Product (e.g. t-shirt)
  • Donation (e.g. gift)
@sjakobi

This comment has been minimized.

Copy link
Collaborator

@sjakobi sjakobi commented Sep 3, 2019

It's not obvious to me why the approval process for e.g. paid work on dhall-haskell should be the same as for standard changes. Why do the maintainers of other language bindings have to approve work on a different implementation?

I don't currently have a better idea though! ;)

@sjakobi

This comment has been minimized.

Copy link
Collaborator

@sjakobi sjakobi commented Sep 3, 2019

BTW, @JohannesRudolph, is this setup via Open Collective convenient for you to fund?

@JohannesRudolph

This comment has been minimized.

Copy link
Author

@JohannesRudolph JohannesRudolph commented Sep 3, 2019

Yes, I think so. Will try to get us set up as a sponsor. Sorry for letting this discussion lapse, so a big thank you to @Gabriel439 for updating this.

@f-f

This comment has been minimized.

Copy link
Member

@f-f f-f commented Sep 3, 2019

@Gabriel439 thanks for setting up the OpenCollective! 🎉

Now I can chime in to mention that I just announced on Twitter that I'll be going freelance in the next months and plan to work on more Dhall things.

This is mostly a personal experiment to see if working on Dhall-related things and open source stuff is already somehow sustainable, so I'll be available for both:

  • open-source grants that don't fit in the OpenCollective box (i.e. that are not direct work on dhall-lang, like dhall-kubernetes or the Java implementation, or writing more integrations with DevOps tools, etc)
  • and "closed source" work, e.g. looking at Dhall things internal to the company, writing Dhall-related code or integrations for internal use, etc
@Gabriel439

This comment has been minimized.

Copy link
Contributor

@Gabriel439 Gabriel439 commented Sep 3, 2019

@sjakobi: It is possible for us to set up separate funds for each implementation, but until we do the various implementations would be drawing funds from a shared pool, so they should have a voice in how we allocate that budget.

@sjakobi

This comment has been minimized.

Copy link
Collaborator

@sjakobi sjakobi commented Sep 4, 2019

@Gabriel439 That makes a lot of sense! 👍

@JohannesRudolph

This comment has been minimized.

Copy link
Author

@JohannesRudolph JohannesRudolph commented Sep 16, 2019

We're set up as a sponsor! It's great to see that there's an ecosystem growing around dhall that also has commercial/consulting options (wishing you all the best @f-f !). This thread has served it's purpose, so I'm happy to close it.

@Gabriel439

This comment has been minimized.

Copy link
Contributor

@Gabriel439 Gabriel439 commented Sep 16, 2019

@JohannesRudolph: Thank you, both for inspiring this and also for the sponsorship! 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.