5 ms·
I'm at Google and I wish each engineer got some kind of budget (like the peer bonus budget) that could be used to distribute funds to third-party libraries. My
by CydeWeys 4y ago
I'm at Google and I wish each engineer got some kind of budget (like the peer bonus budget) that could be used to distribute funds to third-party libraries. My project is itself open source, does not run in the Google prod environment, and thus is heavily reliant on other open source libraries. I wish I had, say, $1,000/year to personally distribute amongst our dependencies. I think what's holding this back is how logistically/legally complicated it is, especially considering how many of the donations are going to be international and might have tax consequences requiring issuance of a 1099. It's easy to donate to non-profits through work (we have an annual amount we can give, plus matching funds), but for donations to individual developers, the logistics are nigh impossible.
- dmix 4y agoMaybe an internal voting system, where every SWE gets 1 vote, but they submit a couples projects (as a fallback mechanism), so at the end of the yr all donations get bunched up & paid out together. Then if the money can't go to the first project for whatever legal reason it goes down to the next one of their list. It's still a complicated system so it'd would take serious buy in. Not to mention the drama donations generate internally and publicly. But it's a noble goal. $1000 per engineer grant might still be easier and less fragile
- SethMLarson 4y agoThis is part of what Spotify did to determine urllib3 as an award recipient: https://engineering.atspotify.com/2022/04/announcing-the-spotify-foss-fund/ https://engineering.atspotify.com/2022/04/announcing-the-spo...
- sandyarmstrong 4y agoThis is what Microsoft does, basically. Each month, $10,000 is donated to some project. Anyone who has contributed to any open source repo during that month is eligible to vote. There's a good nomination system, too. The write-ups for each candidate are done by employees.
- dmix 4y agoI still like OPs idea of it being more 1-to-1, where the engineer votes their $1000 on a specific project and that's the project that gets it. It's not just a ranked voting mechanism where a top few get it. The system would only be there to bunch up "votes" so if multiple people choose one project it gets paid out in one bulk payment w/ a fallback to other projects if that payment fails.
- sandyarmstrong 4y agoYeah, I'd be prefer that as well. But I understand why it might be harder to accomplish.
- CydeWeys 4y ago$10,000/month for a company the size of Microsoft is so little, though. And only one award per month is way too few as well. I still like my idea of $1,000/yr/engineer of allocations, with monthly batching on the rewards. Also you'd be able to see which projects are already getting substantial support, and then maybe use that information to reward your smaller dependencies that aren't getting as much attention.
- Alex3917 4y ago> I'm at Google and I wish each engineer got some kind of budget (like the peer bonus budget) that could be used to distribute funds to third-party libraries. One of Andrew Yang's policies when he was running for president was to give every American $100 to allocate to whatever non-profits they wanted. This is really the kind of policy we need to drive open source. I'd love to open source more software myself, but right now the thought have having 25 million people using my code commercially and making maybe 5k a year if I'm lucky isn't super appealing.
- bfeynman 4y agolmao thank god he did not win.
- pfisherman 4y agoIt sounds good, but will run into problems when implemented at scale because of greedy people, jerks, and scammers. You will see a cottage industry of OSS projects that serve only serve the purpose of parting people from their money. This is already something we see in the non profit space. But there the extent of the fraud and the damage it causes is limited because there isn’t enough money to attract scammers en masse.
- patja 4y agoIn Seattle we have Democracy Vouchers funded by the city that every voter is sent in the mail and can be used to make campaign contributions. This led one candidate to hire people to solicit/collect these democracy vouchers. He raised over 350k from democracy vouchers. When the election came around, far fewer people voted for him than contributed democracy vouchers. And the program administrative and overhead costs are quite high, approaching the level of total funds distributed to candidates. Just pointing out that handing out money isn't free (although it is one of the true core competencies of the US federal government), and can have unintended unproductive side effects.
- debatem1 4y agoJust want to point out that this is pretty much WAI: a candidate who sounded promising but wasn't getting funding got airtime, turned out not so great, and failed. Saying a person should be in the race shouldn't mean that you definitely think they should win it, especially in a FPTP system.
- fluffyllemon 4y agoCheck out the Open Source Peer Bonus Program: https://opensource.googleblog.com/search/label/peer%20bonus https://opensource.googleblog.com/search/label/peer%20bonus
- CydeWeys 4y agoI'm aware of that program, but I think it has some problems. It only happens twice a year, there's a lot of process involved that dissuades people from bothering, the amount of money involved is tiny, and the awards only go to individual people, not general funds for open source projects. What I'm suggesting would be a LOT more total money and would be a continuous process (make the limit $250/quarter).
- auggierose 4y agoGiven that you are a Google engineer, you could probably just pay the $1000/year yourself? That sounds weird at first, because why should you pay for Google's costs. But then again the reasoning is that Google should pay, because they depend on these libraries. But you depend on Google, Google depends on the libraries, so you depend on the libraries. So you not paying is pretty much the same thing as Google not paying: I can understand very well why you don't; because you don't have to.
- adrr 4y agoBecause the benefit is for Google. Alternative would be to develop in-house or buy a 3rd party library for higher cost to the company.
- leni536 4y agoIt would probably be way more tax-efficient for the company to donate,
- googlryas 4y agoOP doesn't depend on Google. It is a mutually beneficial arrangement, not one of dependency. Perhaps if Google was the only employer that would hire OP, but odds are they could quickly get a different tech job at a thousand different companies. Your argument could be used to say that OP should pay out of pocket for server hardware to run their programs that Google uses, which doesn't make sense.
- auggierose 4y agoNo matter where OP works, they would depend on open-source software. I think the question of dependency is without a doubt here. My argument cannot be used for server hardware, because, after all, Google has to pay for that.
- MRtecno98 4y agoBut they(probably) would depend on different open source software
- mgraczyk 4y agoPart of the joke here is that Google is borderline allergic to using open source software that it doesn't maintain.
- CydeWeys 4y agoNot remotely true in my experience. Have you worked at Google, and seen the sheer size of third_party?
- mgraczyk 4y agoYes I boomeranged for a total of around 4 years, (ldap mgraczyk). I am aware there is a lot of third party code, but compared to the rest of the world, google is very averse to open source that it doesn't control. See for example frontend frameworks (react vs lit), ML frameworks (tensorflow vs pytorch), javascript transpilers (closure vs everything else), C++ logging, C++ unit testing, C++ anything basically. It seems like Google is slightly better about this in the Java world, but for the languages I mostly use Google is more guilty of "Not invented here" than other places I have worked. It's possible most of the code in third_party is written by Google, btw.
- CydeWeys 4y agoI don't know what to say other than that my experience here is precisely the opposite of yours. Different areas of the company? I use a LOT of third party libraries in the course of my employment, and third_party in my experience is full of legitimate third party libraries, not ones that are developed by Google. Anyway, here's the list of dependencies for my project. There's a lot of third-party stuff in it: https://github.com/google/nomulus/blob/master/dependencies.gradle https://github.com/google/nomulus/blob/master/dependencies.g...
- jrockway 4y agoI think they're leaning in the direction of "Google doesn't like open source because they made Bigtable instead of using MySQL", which, at least when I was there, was a debate that spawned many centithreads. Generally, I miss 99% of the internal stuff at Google. Prometheus/Grafana is very disappointing compared to Monarch/Panopticon, for example. I also like Go a lot more than Java. So generally, I had no complaints about NIH when I was at Google. Whether it's the best use of their money is up for debate, but I never found them hostile towards open source. (I was also a third_party reviewer. Lots of people using open-source libraries at Google.)