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

A way to back/sponsor the project? #174

Closed
Reinmar opened this issue Nov 19, 2018 · 36 comments
Closed

A way to back/sponsor the project? #174

Reinmar opened this issue Nov 19, 2018 · 36 comments

Comments

@Reinmar
Copy link

Reinmar commented Nov 19, 2018

Did you consider adding Terser to https://opencollective.com? I was looking for a way to contribute to this project, but I can't find any way to support @fabiosantoscode and @kzc who maintain this project now.

I believe that JS minifier is such an important tool for JS community that it should have a stable funding. From what I know, UglifyJS and uglify-es never got any real funding and both projects are abandoned by now. As a result, webpack is switching from uglify-es to terser after just around 1 year. I hope this will not repeat with terser. IMHO, a funding may help because it will keep you guys motivated and perhaps attract more developers.

So, I propose to add Terser for example to https://opencollective.com and explaining in the README how to back the project (e.g. just like rollup does https://github.com/rollup/rollup).


If you'd like to donate to the project, add 👍 to the ticket.

@phil-lgr
Copy link

And put the open collective badge/section very visible, devs and corporation makes big bucks, we/they can afford monthly contribution

@mlucool
Copy link

mlucool commented Nov 19, 2018

Have maintainers considered applying to google for funding? https://www.zdnet.com/article/google-to-pay-javascript-frameworks-to-implement-performance-first-code/

Unclear if they would consider this a framework, but worth a shot

@fabiosantoscode
Copy link
Collaborator

I will do that if @kzc accepts to take part of the money. He's doing a lot of work and it would be wrong to haul everything for me :)

@kzc
Copy link
Contributor

kzc commented Nov 20, 2018

Thanks @fabiosantoscode but this project is just a hobby for me.

I'd prefer that people donate money to http://www.unhcr.org or another worthy charity.

@Reinmar
Copy link
Author

Reinmar commented Nov 20, 2018

Everyone should feel encouraged to donate to any charity at any moment. But that wasn't my point when I opened this ticket to make people donate to any charity. I wanted Terser to have active maintainers for as long as possible.

What may be a hobby for you, is, in fact, a crucial project for the rest of us (and, since webpack switched to Terser, for the majority of the JS community). I'm responsible for my own open source project and I know how much time it takes us to fight various environment-related issues. I'd be rather like to spend this time on resolving other issues. However, I can't just fix JS minifier's bugs myself (cause I lack the experience with it) or take over its maintenance once the project is abandoned. Therefore, learning from the past experience, I opened this ticket to check with you guys whether you'd consider trying to build a community and funding around the project. I believe that an open source project maintainer's responsibility is not only to push code fixes but also making sure the project is healthy.

That said, I'm not familiar with funding models for OSS. Perhaps it'd be worth asking the community and maintainers of other open source projects how it works for them.

@Conduitry
Copy link
Contributor

It's probably unwise for me to stick my nose in here, but:

It sounds like this request for some way to donate is actually a request for some way to create obligation. And @kzc's response can be interpreted as saying they're not interested in this obligation. I grant that it is not an ideal situation having such a crucial project having such a low bus factor, but you can't just throw money at something to improve it. A better goal would be to find someone or someones with an interest in having this obligation, but that's a much harder thing to do. "A way to create obligation" doesn't make a very appealing issue title.

@fabiosantoscode
Copy link
Collaborator

It's decided. I'll be opening an opencollective thing and @kzc can tell me anytime that he wants a hunk of it

@Reinmar
Copy link
Author

Reinmar commented Nov 20, 2018

@Conduitry, thank you for your comment. Talking about money, responsibilities, obligations is never easy. It's hard to choose the right words (especially, if you're not native English) and be clear and to not offend anyone. I'm sorry if I did any of that.

My goal certainly wasn't about creating any kind of obligation. If any of OSS maintainers decide to move to other projects, it's their will and not my business. I just want to turn Terser's and its community attention to the problem that for the JS community it's important that the project like this needs stability.

What could I do? I don't have enough followers or connections myself to find someone who would be interested in having this obligation. Therefore, I started commenting under webpack/webpack#8350 (comment) because @sokra, @gaearon and @sophiebits were present there. I hoped that this issue (the lack of interest from bigger players) may get some publicity which may help in resolving it. From @kzc's comments, I understood that they are not thinking about this problem. So, I opened a ticket. If I titled it incorrectly, I'm sorry for that. I'd be grateful, though, if my attempts to help were not automatically understood as trying to force anyone to do anything, impose myself, my ideas or doing any kind of harm to anyone.

Anyway, to sum up:

  • as a Terser's community we should try to educate the rest of the JS community about this problem. That's why I've been tweeting about it.
  • But some decisions (e.g. opening an OpenCollective account) must be approved by Terser's core maintainers. That's why I created this ticket.

@kzc
Copy link
Contributor

kzc commented Nov 20, 2018

@Reinmar You can't just will a community of contributors into existence. Anyone can contribute and learn the code base - even you. How do you think we did? There is nothing magic about it. It's just code. It's not a question of money but willingness.

I won't be working on Terser much longer. I think the transition from uglify-es is complete.

@kzc
Copy link
Contributor

kzc commented Nov 20, 2018

It's decided. I'll be opening an opencollective thing and @kzc can tell me anytime that he wants a hunk of it

I think it'd only be fair to offer a portion of any money raised to past core uglify harmony contributors - @alexlamsl, @rvanvelzen and @avdg - without whose efforts Terser would not exist.

@Reinmar
Copy link
Author

Reinmar commented Nov 20, 2018

You say I can't do anything but contribute by coding? I choose to disagree. I can see how maintainers of some other open source projects look for contributors. They try to attract attention, educate people about the project, its problems, its importance. There can also be a lot of work done outside GitHub – for instance, I can see how active is @hzoo. Finally, I may be wrong, but I can imagine that core maintainers, even if they don't have the time or willingness to contribute themselves anymore, they can look for other maintainers and pay them with the money from OpenCollective. In fact, while I was writing this comment, you proposed yourself to offer part of the money to past notable contributors. This may encourage more developers contributing to Terser in the future. And that's exactly what I wanted to achieve. Thank you.

@fabiosantoscode
Copy link
Collaborator

I agree. @alexlamsl @rvanvelzen, @avdg, @hzoo find a way to give me your IBAN. e-mail? fabiosantosart@gmail.com

@hzoo
Copy link

hzoo commented Nov 21, 2018

@fabiosantoscode I'm not a core contributor for this project, but if any of you want to talk about open source/fundraising/open collective I'd be happy to chat as a fellow maintainer and member in this community. It's possible many of the people on uglify/terser and other open source projects don't want to work on the project in a further capacity whether they are paid or not.

It's a complex problem: as mentioned, simply introducing money into the equation doesn't solve issues alone (and in some ways creates it's own issues) but it can be a helpful way to sustain a project and at least bring up issues/topics to discuss and work together on. Again we're working through all this in Babel too so if you just want someone to converse with I'm all ears (can DM me on twitter/email/babel slack).

@avdg
Copy link
Contributor

avdg commented Nov 21, 2018

To give an update on my side, I'm currently employed and I don't have a lot of spare time at the moment.

So unless few more coincidences align I don't think I will do big contribute for the time being, though I am happy about the news with the availability of having potential paid opportunities for projects that are clearly used by a big group of users with an interest to ultimately improve the society as a whole.

@kzc
Copy link
Contributor

kzc commented Nov 21, 2018

@avdg Even without new contributions, if money is raised then uglify harmony core developers should also be compensated for their valuable past work.

https://github.com/terser-js/terser/commits?author=avdg

@fabiosantoscode
Copy link
Collaborator

@hzoo I'm interested in seeing what you figure out in babel. Maybe we adjust our strategy after you

@luzfcb
Copy link

luzfcb commented Nov 21, 2018

I don't know if this is within the scope, but in this link
https://github.com/pybee/paying-the-piper
there is a lot of discussion about ways to fund open source development.

@fabiosantoscode
Copy link
Collaborator

@kzc what if we split the money and give your hunk to charity?

@kzc
Copy link
Contributor

kzc commented Nov 22, 2018

@fabiosantoscode I got involved with Uglify and Terser because it was interesting. This discussion makes it feel like a job. Given that others are already indirectly profiting off this project you might as well too. My position on compensation for past core contributors has not changed, but I'll leave it to you to disburse any funds raised for Terser as you see fit. I will not seek any.

As a side note, although I will not be contributing to this project going forward it would be nice to see it maintain its high level of quality. I'd recommend to keep a narrow focus and saying "no" to the majority of feature requests and user submitted PRs - many of which are tangential to the project or risk making Terser less stable and slower for minimal byte gains. But ultimately it's your call.

@fabiosantoscode
Copy link
Collaborator

fabiosantoscode commented Nov 22, 2018

@kzc i appreciate your help so far. We will keep the project focused and the feature set as small as we can test reliably and won't mess other features up

@fabiosantoscode
Copy link
Collaborator

I've had problems with opencollective so here's a patreon page: https://www.patreon.com/fabiosantoscode Any suggestions on how to improve?

@Reinmar
Copy link
Author

Reinmar commented Nov 28, 2018

I think you could take some inspiration from @hzoo's https://www.patreon.com/henryzhu of @marijnh's https://marijnhaverbeke.nl/fund/. There are of course other open source maintainers you could check, but I guess you'll find the following in most cases:

  • Tell something about you. Link to your GH/Twitter/blog, etc.

  • Explain on what open source projects you're working. Link to them (you're not doing that now ;)). You can also explain their importance (e.g. where they are used, how many downloads they have, etc)

  • The point about the money being split among terser's contributor is great. You can write a few more words about those plans or e.g. link to this issue.

  • You can define some tiers. E.g. from $5 up your name will be listed as a patron on https://github.com/terser-js/terser, from $10 up your logo will be added there, from $50 you'll be listed as a gold sponsor, etc. I think that it does not cost you anything (listing patrons) and giving some visibility back may attract more people (especially companies which can donate much more than individuals).

  • Promote your patreon page in the terser's readme. People have to be able to find it. People have to read that there's an expectation that they donate. I really like how @marijnh state this very clearly:

    If you are using ProseMirror to make profit, there is a social expectation that you help fund its maintenance. Start here.

  • Add your patreon page to https://www.npmjs.com/package/thanks. I see more and more people using this tool.

In other words... this is marketing :) Be visible, be clear, encourage people to be active.

@Martii
Copy link
Contributor

Martii commented Nov 29, 2018

@fabiosantoscode

Perhaps when this gets fulfilled on their site a one time donation could occur. However cancelling a membership (e.g. an account for recurring payments) is something that I personally would not want to do. I already have over 500 accounts to manage and adding another isn't in the cards so to speak. Good idea though when they get their act complete. :)

Will still need to confirm their business registration (patreon's) with CA and if they are aliased/registered in another State too.

@fabiosantoscode
Copy link
Collaborator

Thanks @Reinmar for all the hints.

I've already promoted the patreon page just under the terser title: https://github.com/terser-js/terser#terser . do you think this is enough?

@fabiosantoscode
Copy link
Collaborator

@Martii , I wasn't aware of problems with patreon in the US. That's interesting.

@phil-lgr
Copy link

phil-lgr commented Dec 2, 2018

@fabiosantoscode hi, I use opencollective to give to webpack, babel, redux dev tool, is there something that's preventing you from doing an open collective? I guess I missed something in the thread

@phil-lgr
Copy link

phil-lgr commented Dec 2, 2018

@fabiosantoscode

what about:

note: You can support this project on patreon: patron

<a target="_blank" rel="nofollow" href="https://www.patreon.com/fabiosantoscode"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="patron" width="100px" height="auto"></a>

@fabiosantoscode
Copy link
Collaborator

I can do an open collective since they've already explained how to fix the issue I had, but now patreon is what's being used.

I'll use that, thanks :)

@phil-lgr
Copy link

phil-lgr commented Dec 2, 2018

Cool, can you prepare a twitter post when you are ready for some exposure, I'll help retweeting it!

@fabiosantoscode
Copy link
Collaborator

You can spread this tweet: https://twitter.com/fabiosantosart/status/1069295283387932673

@Reinmar
Copy link
Author

Reinmar commented Dec 3, 2018

I wrote a post about it on Reddit (https://www.reddit.com/r/javascript/comments/a2pq73/support_terser_js_minifier_do_not_let_the_history/) and @sokra tweeted about about it too https://twitter.com/wSokra/status/1069548921469444096 :)

@kzc
Copy link
Contributor

kzc commented Dec 4, 2018

@Reinmar I see you've been busy community building:

https://www.reddit.com/r/javascript/comments/a2pq73/support_terser_js_minifier_do_not_let_the_history/eb22kg4/

PiotrekKoszulinski 2 points · 8 hours ago

I had some unpleasant discussions with this person as well (webpack/webpack#8350 (comment)). From what I've seen, this is the kind of maintainer who makes sure there's no community around the project.

However, kzc won't be working on Terser anymore (#174 (comment)). That's why I keep being involved myself.

Your "involvement" in Terser is self-serving and dubious at best.

As for the idea of "community" - it's fiction. They are software downloaders and bug reporters.

People chose Terser and Uglify before it because it was (1) freely available, (2) reliable and (3) was more convenient and offered the most flexibility over the alternatives at the time. This did not happen by accident. I put hundreds of volunteer hours into this project and its predecessors uglify-js and uglify-es adding functionality, fixing dozens of bugs and helping unappreciative people like you for no benefit to myself. I could have kept the dozens of uglify-es bug fixes in my local git repo and called it a day, but I thought it would be helpful to others so I shared it. Terser wouldn't exist and enjoy the level of stability and functionality it has today without my participation. Even this bug which I fixed directly benefits your project. After your "involvement" I regret it. Congratulations, @Reinmar, you got your wish. You've driven away a primary contributor. Great community building on your part.

@Reinmar
Copy link
Author

Reinmar commented Dec 4, 2018

I don't deny your involvement and what you did for the project. But you've been at least unpleasant to me on various occasions. Every time I asked or proposed something, I felt like an intruder. Apparently, so did other people too. BTW, even now you accuse me for:

Your "involvement" in Terser is self-serving and dubious at best.

Even though, you don't know anything about me. I've seen this from the very first moment.

I made it clear – if you'd still be criticising me in such a manner for asking if and how we can help to keep this project alive, I'd not try to help any further.

tl;dr I felt completely rejected and unwelcomed by your comments. I wrote that publicly seeing others felt this way too.

I'm not commenting on this thread anymore. But I'll still do my best to help this project when I can.

@phil-lgr
Copy link

phil-lgr commented Dec 4, 2018

It's ok guys.. let's get past those heavy discussions, I believe we all have good intentions in here

let's do thisss

@fabiosantoscode
Copy link
Collaborator

Please make up, you guys. We're supposed to be helping each other here ❤️

Don't be cold ⛄

@fabiosantoscode
Copy link
Collaborator

Closing since the Patron has been made and linked to in readme.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants