1. 29
  1.  

  2. 11

    I’m of two minds about this. On the one hand, the author is absolutely right - giving a star to a Github-hosted project is a low-effort way of acknowledging that someone else’s project was useful to you in some way; and seeing stars on your project really is an encouraging ego-boost for open-source software creators. On the other hand, stars only exist as a consequence of a product decision Github made, and are unique to their platform - not that other Github-like DVCS-based code sharing platforms coudn’t easily implement something like stars, and I’m sure they have - but when you say “stars”, you’re talking about the thing that Github does. I’m a little reluctant to endorse an open-source best practice that is tied too closely to Github-specific terminology.

    Maybe that’s too nitpicky of a comment though, and we should just take “give it a star” to mean “give open-source projects you forked for later a star-equivalent, so the creator knows you found some value in it”.

    1. 3

      I’m a little reluctant to endorse an open-source best practice that is tied too closely to Github-specific terminology. […] Maybe that’s too nitpicky of a comment though,

      I don’t think it is too nitpicky. When I considered self-hosting more, one thought that crossed my mind is that the large GitHub user base plus starring can show that a repo has a wider popularity. This good signal to potential employers that you are making useful projects and your repositories do not just contain one-off experiments.

      I value decentralization more, but the lock-in is real (of course, there are many other reasons why people are locked in to GitHub).

      1. 1

        Stars is pretty much the only thing you miss out on with leaving GitHub. Anyone who wants to give a meaningful contribution to your project will take the few seconds to sign up but they won’t do the same to just star a repo. RubyGems and GitHub both have tools that can show all the projects that depend on a repo which is awesome to see how well used a library is regardless of its stars. Unfortunately they both can only show data from projects that are on their service. Would be nice if someone invented a reverse dependencies tool that could scan multiple sources but even then it would have a hard time finding things on self hosted instances.

        1. 1

          You can always do both. There’s a number of FOSS project’s whose real master is self-hosted or just not Github with a copy on Github. They use Github both for visibility and easy way to collect incoming submissions. Anything they keep is put into the master which is kept in sync with the Github version. That lets you benefit from Github without letting them control your code in event some rich, greedy, FOSS-sabotaging company acquires them and does evil things. Glad that’s an unlikely scenario. ;)

        2. 2

          There’s almost surely some way you can show appreciation. I’ve used some old, semi-abandoned projects from pre-github random websites, with an email address being the only way to contact the author, and in my experience people are always happy to get an email about their old projects and talk about them.

          1. 1

            Had a similar experience for devs of less known things. I bet ~90% of devs would love an email showing appreciation for their project but I imagine it would get kind of annoying after getting too many emails.

            1. 1

              The benefit is usually to signal to others that a project is useful, which helps the author indirectly. Getting an email is nice, but its not the same thing as having a large following.

              1. 1

                If the author cared about having a large following they’d be on Github; it’s kind of hard to build up social capital if you have all your code on a personal cgit instance that doesn’t allow for forms of validation like stars, or follows, or PR numbers. What I’m talking about is more of a courtesy to the author.

          2. 7

            This is a complicated issue for me, one that I haven’t really worked out to my satisfaction. I’ll give it a shot here.

            My first reaction is send the developer a real monetary donation! Gold stars are for kindergarten, you can’t pay bills with stars.

            But then I don’t think open source is motivated by contractually stipulated monetary reward. It’s more of an artistic expression, a pride in workmanship. Yes it does offer professional exposure, but I don’t think the best and most prolific contributors are fixated on that. They think to themselves, “I’m making this software well and no short-term business objective is going to get in my way. Everyone will see this and be pleased.”

            Stars are thus saying, “You’ve made something beautiful and true.” It’s shared appreciation, online applause for a performance that has collectively elevated the audience and the performers.

            However, to continue the concert analogy, great performances do typically sell tickets. This is where open source doesn’t hold up. It’s as if they audience asks, “Can we get in for free if we just clap really loud?”

            I believe that existing web patronage models are a failure. Look at the average Patreon page – the scale of donations are like an alternate reality. Maintainers collecting like $100 per month total for stunning expertise that provides huge time savings for users worldwide. The fundamental problem with the Patreon model is that the developer has relinquished their leverage the moment they release code under an open license.

            If I put myself in the shoes of the would-be patrons for a moment, I can totally see their side. Maintainers and bloggers begging for money are ubiquitous, and their requests are vague. After all, they kind of started their projects for nothing and apparently that was good enough for them, so their plea rings hollow.

            I believe that the only effective model for being paid for open source maintenance is to stop work after a certain point and negotiate contracts with specific people or companies to work on specific features. The idea is that the initial work on a project (which brings it to popularity) is the investment that allows you both to create artistry and gain leverage for future consulting.

            This is still a second-class arrangement compared to businesses based on selling products or rentals because it cannot scale beyond paid labor. The consulting rate may be high, but if you stop working on the project that’s the end of your pay from that project. By contrast, authors who sell physical books or training videos make the artifacts once and then enjoy revenue proportional to number of people buying those artifacts.

            Would that I could truly internalize this capitalist mindset. There’s just something seductive about open source software – it feels like it’s the only thing that actually stays relevant in the long term. The commercial stuff gets warped and fades away. Freedom from commercial obligations and deadlines means that open source maintainers retain the independence to do things correctly.

            Developers working together on OSS form an intellectual bond that spans nations, almost like the scientific community. It’s the software created (or the scientific truths discovered) that unite people and elevate them beyond their otherwise monotonous striving for money and physical comforts.

            I’ll end this rant here. Perhaps I’ll never reconcile these two viewpoints, the material and spiritual you might call them.

            1. 2

              I rely on the Godot engine nowadays, but don’t really have money to spare. I’d love to contribute to their Patreon campaign, but there are specific features I’d need, and I don’t think they’re a priority. So it’s hard to direct money into specific problems. Bounty programs would be more specific.

              Everything about this is hard, though. Having money stuck in a bounty escrow is not advancing anything. Contract negotiation and international billing has a lot of overhead, and may turn out to not advance anything. Not paying anything, money or code, doesn’t necessarily advance the project.

              C’est la vie, I suppose.

              1. 2

                The money really has to come from businesses. It’s so easy to say “Hey, this JetBrains IDE I need costs $200” and that will get approved right away because it has to be paid for and it makes me much faster as a dev but saying “This open source library we use is asking for donations” will not get approved because it doesn’t have to be paid for. The most I can do for OSS we use at work is send bugfixes upstream.

                1. 1

                  IMHO this is a very useful observation. Maybe we should build a culture that tolerates little paid gimmicks on top of open source projects so that you can justify what’s effectively a donation.

                  1. 1

                    This seems to be the way many OSS projects run now. The core is open source which usually has everything individuals need and then extras are proprietary which are needed for large corporate projects. Its called “Open Core” for people who want to search it. Gitlab even has the source for the paid features public but the license doesn’t let you use it without paying.

                    It does have some issues though. The major one being what happens when someone replicates your paid features. Gitlab says they will accept pull requests that recreate their paid features but they also have the resources to create 20 more by next month. As a solo dev, having someone recreate your paid features could cut out all of your revenue.

                    1. 1

                      I think this gimmicks can very effectively be access oriented. Custom slack channel, custom email address, custom phone number, access to a special meeting. Not so much a feature they get over others, but access to the team they get over others.

                    2. 1

                      It might also not be paid for because the value isn’t as obvious. A bounty-style deal might get approved, because you’re essentially paying for something you require.

                      It’s a question of the direction of the funds and value. This is very obscure when asking for donations in general, don’t you think?

                  2. 2

                    A lot of great stuff in this comment I want to reply to!

                    My first reaction is send the developer a real monetary donation! Gold stars are for kindergarten, you can’t pay bills with stars.

                    I actually think you hit the nail on the head with your first out of the gate recommendation. I think no matter how small your project is you should put up a Patreon or a Bountysource or similar. Not just for yourself for paying bills – but for the people who want to feel involved but can’t do so directly. The patreon model is about supporting what you love. Regardless of the platform you use, you can display you patreon count.

                    The fundamental problem with the Patreon model is that the developer has relinquished their leverage the moment they release code under an open license.

                    I fundamentally disagree with this. It simply isn’t about leverage. It is about eyeballs and goodwill. Look at DTNS – the show is free to listen to for all – heck, it is even free to remix how you want as it is released under creative commons. It brings in $18,000+ monthly because it feels good to support it and the perks it offers feel relevant.

                    I think it is about being savvy in regards to perks, and initial market. Developers were not the initial target for Patreon, there isn’t a lot of crossover there. That said, I think many projects could have very successful Patreon setups if they tried. Some of it is about tiers, if you want to get into the Slack channel it takes a an investment. The investment could be time and code or documentation, or that investment can be $5 a month. If you want to sit in on the monthly feature discussion roundtable – $40 a month or direct contributions at a level that you are invited, etc. If you want to get the project leads home phone number, be a sustaining supporter at $1000 a month for at least 6 month – etc.

                    After all, they kind of started their projects for nothing and apparently that was good enough for them, so their plea rings hollow.

                    Which is why you put up the Patreon feature early, so it doesn’t look like some bolt on or beg later. It is there from before anyone would consider contributing. Neovim had this as a bolt on after the initial funding push, and while I find their pitch possibly too gentle, at least it is there at the bottom.

                    to stop work after a certain point and negotiate contracts

                    This is devastating to good will, and will encourage forks so someone can take your work and be the more well known version of it with those +3 features. I do not think this is a good way forward.

                    (and one last mostly irrelevant reply)

                    But then I don’t think open source is motivated by contractually stipulated monetary reward. It’s more of an artistic expression, a pride in workmanship.

                    I honestly think far more work is done in anger than for artistry. In market terms, more “painkillers” than “vitamins”, doubly so in open source. “The bleep won’t beep bleep bleep what type of bleep bleep wrote this. I will just fix it, bleep it!”

                    1. 2

                      But then I don’t think open source is motivated by contractually stipulated monetary reward.

                      I guarantee that is sometimes the case. I’ve been turned down offering to pay for work on FOSS projects or public sites specifically because the developers and admins wanted to keep money and its psychological effects out of that part of their work. They were doing it for ideology, charity, fun, and so on. They had other work they did for money. They kept them separate.

                      I still advise offering to pay the going rate for work just in case they need it. If they refuse, maybe a cup of coffee or lunch for thanks. If they refuse that, then a heartfelt thanks, star, and whatever since they’re some really devoted people. I won’t say selfless since some do it for not-so-nice reasons and the good ones get personal satisfaction from the good they do. Definitely dedicated or devoted to helping others with their work without asking for something in return, though. I respect and appreciate those people. I also respect the ones doing it for money since they might have been doing something without large benefit or benefiting companies like Oracle hurting us all.

                      EDIT: Someone might wonder what I meant by not taking money for not-so-nice reasons. I’ll give a few examples. One is academics who release code as a proof of concept and/or with potential to benefit people if someone else works on it. They’re paid and promoted for output of papers, not maintainable FOSS. Many would refuse offers to extend older projects. Proprietary software vendors doing OSS side-projects and/or open core companies might refuse paid work on their FOSS because the features compete with their commercial offerings. Regulated industries using some FOSS or OSS components that had to be certified in expensive process would have to recertify them to use modified forms. They often don’t do bug/security fixes for this reason. They might turn down offers on specific libraries. Finally, some people might want the software to work a specific way for arbitrary reasons and/or straight-up hate some potential contributors for personal attributes. There’s a religiously-motivated project whose maintainer fits that description.

                      So, there’s some examples of maintainers that would turn down money for reasons having nothing to do with selflessness.

                      1. 1

                        It is basically same as science. Which is also tragically broken due to funding (and valuation) issues.

                        If only there were a global fund for free projects that would map their dependency tree, perform some health-checking and distribute donations in a predictable fashion…

                        Then a government or a company relying on free software might donate with indications on what to support. Gov. might, for example, donate 1% of purchased software project price to it’s dependencies or require the supplier to do so… That would be about €5.000.000 a year just for Czechia.

                        1. 1

                          My first reaction is send the developer a real monetary donation! Gold stars are for kindergarten, you can’t pay bills with stars.

                          I’m afraid that for most people, the hurdle to sending money over the internet is much higher than telling them they like what is done via a star (or analogous system)…

                        2. 1

                          If a project really helps you, send the author a donation if they accept it. Will go a lot further than internet points.

                          Also: Forking a repo on github doesn’t actually make a backup. There have been cases where people have had their forks deleted because the original repo owner stopped paying for private repos. Also if the repo gets a DMCA take down you will probably lose your fork.

                          1. 1

                            I can’t deny that stars have motivated me work more on some projects, but I’d also add that occasionally, it’s the only way for me to know if people are actually using what I made. Something might be good enough for me, since I wrote it and can re-write it, but the same isn’t necessarily the case for just any user.

                            Ultimately, it’s things like these which give signals to developers and users. Many people who want to “clone” or “replace” GitHub entirely disregard it as a gimmick, which it probably might even be, but some way or another it’s developed into a real “necessity”, a relevant factor.

                            1. 1

                              I’ve been using github stars as sort of bookmarks, and over the years I’ve starred over 15000 repos…