> Some observers have remarked that this incompatibility appears to have been a deliberate aim of Microsoft's, in an attempt to at least slow the advance of Sun's Java technology.
Hopefully Google can push the foundation to stop adding bad complicated language features like pattern matching or the walrus operator to the language.
Because it's easy to get started with and the complexity that you're exposed to increases with your experience and technical needs instead of being frontloaded. This isn't the same as being simple but it's understandable how the two can be confused.
This sets a great example for other cloud providers to emulate. I'm really proud of Ewa Jodlowska (PSF Executive Director) and her team for making this happen for the Python community.
> The Python Steering Council and Python Software Foundation will work together to contract a developer
This would represent a significant increase in the number of people paid to work on the Python language. Two years ago it was estimated that it only had (the equivalent of) two full-time employees working on it.
Its such a statement about the free rider problem that python can have only 2 people working fulltime on it. Python is one of the most popular languages in the world - there's got to be trillions of dollars worth of companies depending on it. Small improvements to the language would result in millions of dollars of productivity gains in aggregate globally.
And yet ... collectively we can only find enough money to pay two full time salaries?! Seriously?
Why do you assume he isn't paying? The payment should obviously be proportional, though. You can't expect a single individual to finance what a gigantic multibillion corporation could.
It's not very arbitrary. The reasoning (in one of the upstream posts) is that Python is one of the world's most used programming languages. It definitely makes sense for large multi-billion corporations which are the users of this language to help finance it.
Your point would make more sense if the claim was that a significant portion of the corporation's profits should go towards financing Python. Then I would agree that "there are so many better things to finance than Python". But if we're discussing a salary or two in the context of corporations that employ hundreds of thousands of people, then your argument makes much less sense in the current context. There are very few things that would have better marginal utility then paying for the (effectively) third full-time Python developer.
I say this as someone who's spent decades of my life donating time to opensource projects. - But the model where big companies have their technology stacks underpinned by charity is ridiculous. Obviously ridiculous, if python only has 2 full-time-equivalent staff.
This problem isn't solved by little old me pulling out my check book. My bank and my insurance company don't need charity from me in order to fund the technology they've built their businesses on. They need to learn to pony up and start funding the "free" software they use. Paying myself would only help kick the can down the road - and encourage and enable this sort of corporate mooching to keep happening.
In 60 years most of the volunteer maintainers of the software we depend on every day will be dead. Some time between now and then we need solution to this problem of opensource sustainability. Delaying buys us nothing.
If python continues to be this popular, there will be more maintainers who join the project.
Surely you’ve seen volunteers join existing projects out of their own interest and need now. The decades that you contributed (thank you, BTW): were those all on projects you started, or did you also join some existing efforts?
I don’t see any reason to think that will stop in 10, 20, or 60 years.
> If python continues to be this popular, there will be more maintainers who join the project.
Will there? I feel like most of the opensource attention flows gradually up stack / toward trendy things on github and away from infrastructure older than github. When heartbleed happened a few years ago it was revealed that OpenSSL was maintained by basically one guy. The same is true of the linux timezone database. Apparently python is mostly 2 people.
I'd put money on this being is a theme for lots of tools we take for granted. How many people work on bash? Or busybox, grub, libpthread or libicu? I bet the number is tiny.
Cpython had 5 pull requests opened yesterday. 6 the day before that (from 10 total distinct contributors). That doesn’t seem like a project starving for contributors. If everyone with commit access up and quit, there’d be turmoil for several weeks and something reasonable would emerge.
People want to work on popular, useful things. Python is both of those.
because software that is provided for free cannot capture the positive externalities it creates and thus is under-supplied, it's just very straight-forward economics.
Yet it's become such a widespread sentiment to expect software for free that charging for something like Python would probably be seen as obscene and kill the language through loss of reputation alone.
> It taking 10 years to transition from 2 to 3 wasn't necessarily a bad thing.
The python3 interpreter could have been largely (or completely) source-compatible with python2 code. They could have done it rust2018 style - where source code files can opt in to a newer parser, and in return get access to the new features. Then the whole python3 drama would have been avoided. MacOS still ships with a python 2.7 interpreter because of all that nonsense.
But if they only had 2 full-time people working on it, no wonder they didn't have the man power to do the transition any other way.
Right; none of this should be necessary. I don’t need an old version of my C compiler in order to compile old C files. Rust made breaking changes to their language and yet a modern rust compiler will happily compile the older 2015 rust syntax. Python could have gone down the same road; but I suppose all of python’s corporate users chose to fight python compatibility changes locally rather than donate time / money fixing python itself.
Everything about language maintenance isn't "just" adding features. There's actual bug fixes and a bunch of other stuff that take a lot of time. Not to mention that Python's standard library is relatively large.
All the evidence is 2 Full Time Developers are equal to the workload. People aren't using Python because it is going to be good enough in the future, it is good enough now.
If more people are working on it full time, we'll just get more Walrus Operators. A very hypothetical gain at cost of an increasingly complex core language.
I always have been and always will be against the walrus operator. I don't care how much anyone tries me to sell it on its elegance. There's just no _need_. It's already the #1 example of wtfpython https://github.com/satwikkansal/wtfpython#-first-things-firs...
/rant. Those kind of features are going to keep coming anyway, I'm afraid.
I don’t like the walrus operator personally, but wtfpython has it wrong. It’s simply syntax for an expression that includes a binding. It parses like any other expression, and is completely unsurprising.
It's not about going million miles an hour. The safe speed can be used even if there's 200 people. But the commenter above has a good point: tons of businesses and billions are linked to a product with almost no workforce behind it. The same is with many other OSS: tons of value and no money to those who maintain/create.
If we want to solve this problem we need to start with a way to assign credit and identify neglected parts of the stack. After we have awareness we can find the funds.
Not necessarily. One can be done without another,but it would obviously help if there's some roadmap that can then be shown to the potential sponsors. Getting funding is ultimately a sales function and I'm sure any meaningful project would have enough dough to run on if such function would exist.
I am seriously wondering: is it actually possible for stock listed companies to donate? I mean aren't they legally obliged not to spend more than necessary (towards their stockholders obliged). Also what does the IRS say on that?
They have a duty to try to operate efficiently, but that doesn't make corporate social responsibility, a bad hire, or wasting something nobody liked in the canteen illegal.
Well, bad hire, bad food can always be justified (avoiding hindsight fallacy). But giving away money for nothing received (meaning of donation) is something different (at least to me)
I can pay you to put my company name on your business website or a physical banner at a trade show and account for this as a business expense (deduct it) without you being a non-profit. I have broad latitude to make business expenditures in a manner that I believe is profit-seeking or optimizing for my business.
People do this with Google and Facebook all the time. We call them ads. Not every ad campaign has a positive RoI.
> And yet ... collectively we can only find enough money to pay two full time salaries?! Seriously?
But what’s the problem here? Is python struggling as a language? If there were clear calls for help companies could find it a lot easier to justify donating money or dev time.
Much of the popularity of Python is based upon third party libraries that have been contributed by both individuals and organizations. These are still contributions, and there are many cases where the contributors are paid.
Should Python receive more funding and pay more people to work on the language? Probably, yet it is doubtful that having a large team working on the core language will improve the health of the language.
>Its such a statement about the free rider problem that python can have only 2 people working fulltime on it
It's also a big statement about how non realistic were the ideas that FOSS will thrive on volunteers working together.
Back in the day where the "Cathredral and the Bazaar" was published, VALinux got its IPO, and FOSS was the latest hype, people really believed that this will work without corporate sponsorship, just by volunteers doing the work.
Then again, they also believed in many eyes available through the magic of FOSS making bugs shallow (Torvalds), and you get 20+ years of some obvious bug in something as critical as OpenSSL.
That's insane. A thought occured recently - some lines of code in the python code base have been executed an innumerable number of times (trillion-trillion? Can't even start to calculate the order of magnitude). Even the subtlest of optimizations to these lines could collectively save probably hundreds or thousands of tons of CO2 from being released. That alone might deserve a couple of People looking into such massively common codebases fulltime.
Ruby got MJT in a big effort to make Ruby a lot faster. PHP is constantly increasing it‘s performance and tries to change a lot to get faster (basic building blocks for JIT in PHP8).
Why is python not iterating so much on it‘s performance? Or is it doing this but it‘s not as public in promoting it like my former two examples.
There's already PyPy. It's faster for, I estimate, 90% of workloads that don't use NumPy or Tensorflow, which offload work to faster implementations in different ways. It can certainly be 5 times faster.
It doesn't have that much adoption, which suggests that performance isn't critical to Python's user base. If PyPy got significant market share, perhaps the CPython developers would prioritise an approach like this. (Or perhaps they'd have even more justification to say look, there's already a performance-focused implementation, we'll do our thing).
One example is that Pypy switched away from reference-counting to fully garbage collected. They are probably right that's faster, but if I'm running a webserver, it's actually really comforting to know that any garbage produced by the processing of a request is collected when that request ends (barring cycles of course) so I don't end up with weird hangups.
The author claims to have _existing code_ for the first stage, but provides no code and no benchmarks in the post or linked github repo. Additionally, the repository does not seem to make a particularly strong case that each improvement will result in the massive 50% speedup compared to the previous as claimed.
I'm not in the python community, so it's possible this person is well known and respected enough that part of this can be taken on faith. However, because the author does not provide benchmarks or any other proof of the effectiveness of the supposedly almost complete stage 1, I cannot personally call this proposal serious.
I decided to read the entire thread, and my final conclusion remains roughly the same. Although "not serious" is perhaps too harsh, the author does not provide the level of detail I'd expect of someone asking for 250 thousand dollars for their existing work (as well as 750k for future work).
The most information we got was "on a few simple benchmarks I'm seeing about a 70% speedup vs master for both default and LTO configures." However, this information is almost completely useless. What benchmarks? What architectures? What hardware?
It would take the author 5 minutes of their time to say "here's the benchmark code I ran, it executed in [time] on CPython master commit [hash], and [lower time] on my patch, running on a machine with [hardware]." To be completely honest, I fail to see why they are not providing this information that would make their proposal significantly stronger.
That's a pretty distorted view IMHO. There are a lot of people that are working in the Python ecosystem and improve the language, and while they are not directly paid by the PSF their employers give them time to devote to working on Python. I think e.g. GvR had plenty of freedom to work on his Python projects while at Dropbox. I know a lot of companies in Germany that give people ample time to go to Python conferences and engage with the community, as it's also a way to meet and recruit good Python developers.
So it might be true that there are only a few FTEs working on Python, but the larger community of people contributing to it is much larger.
They talk about maintaining Python, which includes things like preparing and managing releases. Why would you need more than a few people to do that? The core language itself also evolves at a slow pace (which is good), it's not that there are tons of new features every year that get merged into the codebase, so a few FTEs is probably adequate to handle that kind of work.
Considering the larger Python ecosystem the community does a lot of the work, so saying there are only two people working full-time on Python is quite misleading IMHO, as Python has probably one of the largest communities in the world for a programming language, the Github repo alone lists almost 1.500 contributors.
> Two years ago it was estimated that it only had (the equivalent of) two full-time employees working on it.
The discussion thread on that reveals that it was a bit low even by its explicit premise (core devs that had allocated time for OSS that was used for Python), and that methodology itself undercounted reality because it ignored people who had and made use of employer permission to use paid time but did not have a set allocation.
Two people working full time on Python have two names.
The equivalent of two full time employees could be 10 people with 20% of their time. I suspect there are a lot of patches submitted to python that were developed by someone being paid while they did the work that isn’t accounted for in the 1 actual full-time plus 5 20% time people.
IOW, paying for 1 additional named person to work ~2000 hours in 2021 will almost surely not be a net increase of 50% of capacity.
More money for OSS is always great. Does the PSF employ full time engineers to work on Python? For some reason my mental model of core Python contributors was that they worked at a company which paid them to work mostly on the language, but also on other company specific things. Maybe because that’s how Golang seems to work? IDK, genuinely curious.
Great, looking forward to migrating to Go once Python 4 is finally shutdown in 2023 ;)
But, yeah, ultimately I'm glad any company is contributing to upkeep the language, but the whole "Visionary Sponsors", "Sustainability Sponsors", "Maintaining Sponsors", "Contributing Sponsors", etc distinction between them seems very unnecessary.
While I agree this can only benefit the Python community - I'll reserve judgement as to whether in the long term this proves to be beneficial for the next 3 to 5 years.
Google has ZERO incentive for the python ecosystem to flourish. Remember the breaking 3.0 change came when Guido was an employee there, and go was starting to get mainstream traction.
I agree with the embrace-extinguish crowd. The strategy will be to introduce a huge breaking change in the next release.
This is a corporation. They don't do things for free. What started out as a "free" browser turned into a vehicle to capture a monopoly on internet video. What makes you think they dont have a long term plan to profit from python?
>> Guido was an employee there, and go was starting to get mainstream traction.
So your conspiracy theory is that Guido, the BDFL at the time, colluded with Google, who use python for numerous products, to destroy python and popularize Golang......?
I wish that Google, Dropbox and Instagram would invest some of this money in Pypy as well - which has been struggling for funds for quite a while.
In fact, I have nothing but the deepest of respect for the Devs who built a version of python better than the "officially sanctioned one" without having any financial support.
I'm very confident open-source projects (also like VueJS, Nuxt, and many NPM packages) are some of the highest-impact donations and philantrophy anyone could make.
I hope that isn’t true. For the sake of starving children, political dissidents, victims of war, the environment, people struck by disease, and many more, I really hope that isn’t true.
From a multiplicative effect and the current lack of funds it very well could be. Small improvements to development (reduction in bugs, reduction in cpu waste, etc) to things as widely used as these could mean that your $1 donated got multiplied millions of times in dev time saved.
This massive leverage is sort of unique to open source because it’s non-rivalrous. Resources you donate like food, shelter, etc can only help a limited number of people.
Note that this analysis of highest-impact does not make any moral judgements about which is more important. I personally would rather pay to help build plumbing in Uganda rather than this, but it definitely won’t have the same leverage.
It’s not a delusion of grandeur, it’s the reality of how technology works. A single program can easily be used by millions of people.
An improvement to the Linux kernel scheduler that could reduce the power consumption of every android phone and the majority of servers in the world by 0.01% has a bigger impact than building an entire offshore wind farm.
Let that sink in. It’s hard to fathom how leveraged changes are to the software run all over the world. This is not delusions of grandeur, this is just the reality of so much of the world running on the same software.
These are different things and really can't exist without each other. CPython developers mainly work on how to make the language better. PyPy is focused on how to make the language faster.
About time. These multi-billion companies exploited open source software and essentially got free labour without having to pay salaries and taxes by cynically promoting open source movement manipulating developers into giving up their hard work for free (exposure). Hopefully the time will come that these companies will make big payouts to all people who where manipulated into contributing into "open source software" (meaning free labour for big corporations).
Comparing open source development to a forced labor camp is a stretch.
I wouldn't hold my breath for a "big payout" -- a company will invest in what they find is necessary. Maybe it's a gold sponsor, maybe a junior engineer hire or more. The market is efficient in my view and everyone involved benefits. The disconnect I see is the delusion that open source contributor(s) are owed something because someone else found the software useful. They seem to so quickly forget that they picked the liscense and that liscense is being used as designed.
Your narrative is not productive. Instead, maybe advocate for cultural change in what it means to adopt open source technology, eliminate barriers for monetary or other forms of support. It's unlikely the intent of adoters is to be laughing all the way to the bank as you're claiming.
My point is that big companies promote open source movement as a way to save on R&D spending. They'll see what people make for free and then pick up what sticks without paying anything for the effort. In many countries you can't hire someone to do work for free, even if they agree and you have at least pay minimum wage.
The same should apply for open source software. Big companies should not be allowed to use it without reimbursing all contributors even if they license the code as public domain. This needs to stop as this is a modern way of labour exploitation.
People make literally billions of off python and its time they share that profits with the developers and pay appropriate taxes!
If you don't want companies to use your work without paying, then don't open source it under free licenses. Simple, simple solution. You can't make something freely available and then complain when people use it. You don't get to choose both sides of the argument.
The problem is that this is mostly done by people from privileged white background who can afford to give their work away for free and that puts into disadvantage people who simply cannot do that, because they need to pay bills and feed their families. For the same reason in many countries companies are not able to accept free labour, they have to pay at least a minimum wage for this reason as these spots would have been taken by people with rich parents "who want to find themselves" and poor people would miss out. This levels up the playing field.
If you think deeper about this issue, you should be able to notice that this is somewhat a loophole around this legislation packaged into a nice and catchy marketing.
> These multi-billion companies exploited open source software
> promoting open source movement manipulating developers into giving up their hard work for free
Make up your mind, were they exploiting open source by using it or were they getting more people to contribute to open source? You know the point of contributing to open source is it make it open source, right?
Do you exploit open source by using Linux instead of paying for Windows? Do you exploit open source by celebrating open source developers?
Yes, they were profiting from labour they didn't pay for
> or were they getting more people to contribute to open source
Yes they promote open source so they can get more work done for free
> You know the point of contributing to open source is it make it open source, right?
That's the idea, but reality is that this is a loophole where big corporations save on R&D and get work done without having to pay salaries and taxes. In many countries you cannot hire someone without paying them even if they agree to work for free and the same should apply to software.
> Do you exploit open source by using Linux instead of paying for Windows?
The problem is that it is difficult to reward all the people who contributed to Linux and that needs to change.
> Do you exploit open source by celebrating open source developers?
That makes little sense. If you embrace open source you are actually helping big companies getting free labour.
> In many countries you cannot hire someone without paying them even if they agree to work for free and the same should apply to software.
In those countries, am I permitted to shovel my neighbor’s sidewalk or mow their lawn? Can I help a friend paint a room or change a tire? Am I permitted to write a poem and share it for free? Can I publish scientific findings that I might have created?
> If you embrace open source you are actually helping big companies getting free labour.
I see it as “Yes, and:” We are helping all humans avoid the tedium and drudgery of solving now-pointless problems because they have already been solved, avoid introducing novel security bugs, and overall to help us collectively stand on the shoulders of giants rather than on the toes.
That does help large companies avoid creating a bunch of tedious, pointless, repetitive work which humans would have to forfeit large chunks of their lives solving. That sounds like a feature rather than a bug to me.
It also helps small companies afford to offer tech-based solutions and to better utilize the constrained pool of “people who are good at programming”.
You are comparing apples to oranges. Your neighbour will not make billions of off your shoveled sidewalk and you won't have to spend years perfecting the art of shoveling just to perform that task over multiple months.
Is it illegal for them to hire me (or ask me and direct me) to shovel their sidewalk for free or not? Does the legality depend on their making billions?
I think you’re crossing legal and moral arguments. I might decide to shovel my fixed-income pensioner neighbor’s sidewalk for free while deciding to not shovel Larry Ellison’s sidewalk on the other side of my property even if he asked nicely (which I doubt he would).
That’s a moral/ethical choice on my part, but the law everywhere probably allows that transaction.
If you don’t want to contribute your time, skills, and attention to open-source, I don’t see anyone suggesting that you be forced to do so. You are the one claiming that there’s something that ought to be illegal about it, with which I disagree.
In my country it is illegal, however it wouldn't be enforced as this is a minor thing, but if you were a registered company and tried to get someone to clean the pavement around your office for free, then you could get into a serious problem. Even if the person agreed to do it for free, they could then report your for not paying a minimum wage.
Did you know that many (most?) key open source contributors are employed by companies specifically to keep working on their open source projects? This is true of kernel developers, language maintainers, and many more.
Open source contributors are typically privileged white men who can afford to work for free and give away their work because they can and they enjoy showing off.
This puts people from poor backgrounds who can't afford to spend days on projects for free as they have bills to pay and mouths to feed at severe disadvantage. Why companies would hire developers if these cool kids give everything away for free? This is much bigger problem than you think.
So you presume that there is a fixed amount of development work to be done at companies and by using open source software for free they are hiring less people?
> Open source contributors are typically privileged white men who can afford to work for free and give away their work because they can and they enjoy showing off.
Good point, we should string up all these white bastards from the nearest lamp post.
How dare these pale-skinned, cock-wielding scum contribute to the common good!
That time will never come. Do you think that Google will pay all 100 core developers who actually built the language retroactively?
No, it's a power grab, because full time developers plowing through the code base and working on minor issues crowd out the actual IP creators and make them leave.
Expect a dull, boring corporate controlled maintenance age where one or two people do mundane work and directors of various foundations and groups take the credit.
> Do you think that Google will pay all 100 core developers who actually built the language retroactively?
That would be an ideal scenario to be honest. If company wants to use the work, they should pay for it and for all time that lead to it or developers should be required by law to change licenses so that companies would have to pay either a subscription or a fixed fee for the software version.
That divide between boring development and rock star seeding indeed exists and typically people working on IP have their own companies and contract out their work. They create a PoC and then company employees make it into a product. That used to work well in the UK, but law has changed to be more akin to the US rules where you can't provide IT services as a small company (typically one man) and you have to be an employee.
A lot of people here are accusing Google of embrace, extend, and extinguish, but you have to realize that the incentives here are different from Big Tech's point of view. I'd first like to point out Python is a programming language, not an internet standard or file format. It gets its utility merely from the ability to develop in it, even without an established ecosystem or network effect. The barrier to jump in, or fork off and start over is far lower compared to a browser or file format.
So what's in it for Big Tech? Well, in a situation where controlling the technology or suppressing it is difficult due to the low costs of starting over, it is in their best interest to promote the ecosystem rather than control it. When they put in the time, money, and engineers to make it better the return on investment can be massive, because of the help they get from the community to grow, maintain, and keep compatible this core component at less cost than if they did it themselves.
The incentives align and benefit everyone, especially if there is a fair governance system mediating between all parties involved. The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance. I hope this makes everyone a little more optimistic about the direction of open source, especially as companies realize the real value it can have for all involved.
A company can damage an open source project in a number of creative ways that have nothing to do with file formats. One word: Oracle. OpenOffice vs LibreOffice is a pretty good example of plausibly deniable sabotage that would enjoy a bonus with the number of people interjecting, index finger raised, with "Actually, Hanlon's razor..." To be fair to Oracle, Sun didn't help that situation at all, Oracle just ratcheted it up.
I prefer the more mean spirited "aggressively stupid", but I don't want to tempt a splintering of the "Hanlon's razor" people - I'm quite happy with the mental image I have of them already.
> The barrier to jump in, or fork off and start over is far lower compared to a browser or file format.
False. Its way easier to switch browsers than for a company to switch to an alternative Python implementation. Cpython is the defacto standard that the other implementations follow. What you are suggesting is that if Python 4 breaks your code base you are free to fork off Python 3 and keep the just the changes you like. This is absurd.
> The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance.
Python is in no danger of abandonment.
Anyhow. It appears you represent Google, so know this: We are watching carefully. Any attempt to subvert Python will be publicized and have a disproportionate response from the user community.
> Anyhow. It appears you represent Google, so know this: We are watching carefully. Any attempt to subvert Python will be publicized and have a disproportionate response from the user community.
Who is 'we' in your sentence? Please do not speak for the community at large. For many Python users, as well as for the Foundation, as well as for many companies building on Python stacks, Google's allocating part of its vast resources to the continued development of Python is considered a Good Thing(tm) that brings a net financial benefit in the short term as well as an increased peace of mind in the medium-to-long term.
their 'we' represents a bunch of big-mouthed folks who themselves never did anything for the Python or any other community but are quick to shit post any good that big-tech tries to do.
Haha, you mean that you are watching me. I do not represent Google. Don't worry, you don't have to fear any Google psych-ops trying to brainwash you into accepting its contributions to Python: Google is probably too big to care about such things. If caught any such behavior would probably cause a massive stink. And dude, there is literally only one free browser left: Firefox.
All other browsers are derivatives of Chromium at this point or have barely any users, made even worse by the way Google executed EEE on web standards with DRM extensions. It takes enormous resources to write a battle-tested browser viable for the web. It is far easier for someone to write a script interpreter for their own uses. HN is written in Arc Lisp, for example.
> Any attempt to subvert Python will be publicized and have a disproportionate response from the user community.
Google is subverting the web, and the only disproportionate response from the user community is "Chrome is good, Safari is bad, FF needs to keep up with Chrome"
I see your point and I'd tend to agree, except that we've all seen cases of successful projects suffering under the umbrella of a big company. If Google took care of Nim or D, I'd be more than happy. But Python? It's doing well, they better leave it alone.
Yeah, Python has been the wonder child of the programming world for as long as I can remember. People have very strong beliefs on the subject - I remember how everybody went up in arms over the walrus operator (a := b) issue. I hope that all parties involved appreciate Python's position and longevity, while approaching the task of maintaining it with respect. I personally do not expect Google or any other Big Tech to be running roughshod over such a treasure anytime soon.
While personally I feel adding features might be cointerproductive, there are probably two features that would gain unanimous acceptance: (1) removing the GIL - involving an unimaginable amount of work, (2) increasing the speed of CPython itself.
Or you will do what pleb ? - how about you let Google choose where it wants to put its money. I use Python regularly and have never touched Nim or D so I personally support this.
Reposting this comment because it was flagged even though it had a high upvote count...
Beware: Its events like this that cause organized resistance and then alternatives to Big Tech and even this board.
--
I am one of those people, so I will respond.
> The barrier to jump in, or fork off and start over is far lower compared to a browser or file format.
False. Its way easier to switch browsers than for a company to switch to an alternative Python implementation. Cpython is the defacto standard that the other implementations follow. What you are suggesting is that if Python 4 breaks your code base you are free to fork off Python 3 and keep the just the changes you like. This is absurd.
> The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance.
Also a lot of 'unmanaged' code that was put in place and doesn't have an owner. Combined with backwards backwards compatibility (looking at you, AWS Lambda Runtimes) some of the code might not be updated any time soon because there is no value in it. This would apply to container images as well I suppose.
While I am publicly critical of Google (and more so, Facebook), I also really appreciate their support for Python, TensorFlow, pre-trained deep learning models, etc. Even Facebook gets credit for releasing some very useful tools.
Nothing is black and white in the world. Personally, I use products that I pay for from Google (GCP, YouTube Music, etc.) and Facebook (Oculus VR), but I stay away from “free” stuff paid for by data that is owned by me.
I used to try and raise funds for the UK pycon (I was very bad at it) and my biggest takeaway was that most devs were infavour of their company forking over some cash, but "charity" was a tough sell internally. The best results was selling "booths" at the conference. But that had more cost to the sponsor than just the cash we asked for.
I have been mulling on Something that makes it less charity - purchasing a "not really support" option. This might be a annual membership, in return for which you get ... early access to annual roadmap pdf. Or an online video from the main devs explaining what they are doing for five minutes (#)
What if there existed something to Make the above easy and simply to do - a small foundation who's job is to keep membership rolls and accept payments from companies on behalf of any foss project that signs up (it's something I imagine patreon could offer). They then ensure that the (minimal contract) is adhered to in some manner.
(#) Seriously - you could set up a zoom call with 1-5 devs and just hit record once a year - I promise that 99% will see this as unbearable imposition and then talk for two hours. And that's "actionable paid insights into the future of this tool we depend on"
So the point being, if your FOSS project gets traction, then sign up to this foss-patreon, tell everyone to click to subscribe and you might might get a sponsor or two.
I've been in a similar place raising funds for a makerspace. Sponsorship is a marketing expense for a company and can be accounted for as a cost of doing business. A private donation is hit by income tax and, where I live, depending on the structure VAT.
I used to be 100% against tax deductible contributions to not-for-profits. I've turned 180 on this. Citizens are much better at allocating funds to worthy causes than a central government.
In the case of our Makerspace, we couldn't get any public funding because we didn't fit into a predefined category such as a "sports team", and operating a garage full of tools could be seen as competing with private industry. Somehow there was money available for the lawyers who delivered that opinion to the local government though.
In the UK, a company can deduct a charitable donation from its profits before calculating income tax.
For an individual, the charity can claim the basic rate tax the individual paid (Gift Aid) and higher rate tax payers can claim the higher rate taxes using their self assessment, so in round numbers, it doesn't really matter who makes the donation.
That being said, it relies on there being a UK charity, which a lot of software foundations are not.
(Aside: I work for a US company that does support US foundations, as well as employ a few CPython core devs)
How would you feel something like Help Jar (https://helpjar.org) fits into this space.
It's a platform I've created where you can allocate anywhere from 0.1 - 5% of revenue to causes you believe in. Right now it's geared towards charities but I'd love to include open source sponsorship in there too.
I like the idea, and kudos for keeping your costs at 1%.
Putting on my company hat, and I'm no expert, I believe for this to work in Denmark (where I live), you would need to be able to put some form of goodwill on the balance sheet. Companies still need to pay tax on donations (at a reduced rate up to ~2300€/year for recognized charities).
Unfortunately, 0.5% of the Danish workforce is directly employed by the tax office. It's a serious threat over here.
> Citizens are much better at allocating funds to worthy causes than a central government.
You kind of threw this out there. What makes you think this, is it something different about a charitable cause versus say health care? Both are distributing the same resources.
I might agree that decentralized decision making about resources is superior, but even that is full of caveats. I’m not sure why you think independently unorganized citizens are better than a group of citizens whose official capacity is to allocate (ie why call out government as something different? The important piece is centralized/decentralized, not govt vs citizen.)
At least it is supported in the literature - the lag and loss of resolution in reporting back centrally makes decisions a worse fit for actual conditions on the ground.
I like the idea, and "actionable paid insights into the future of this tool we depend on" might be a good sell. But maybe don't make it a subscription, one off payments can be easier to get approval for even if they occur every year.
Another thought: Often devs have a yearly budget that can be spent relatively freely on training/conferences/courses/books/etc. Conferences and travel are expensive, but with everything going on it's not being used as much. I'm sure people would pay to get on a Zoom call or Q&A with a few core devs if it comes out of that budget. Price it pretty high, perhaps a few hundred $ per participant, maybe add country-dependent pricing or make exceptions for OSS projects/etc. Basically a fundraiser with a training/conference talk component.
Probably add a 'Pay what you want' option in download pages as well.
From my own experience, I got just one donation in about a year of giving away free learning material. I then tried out ebooks (which was initially paid option only, but later switched to free online version and paid pdf/epub). This set up now pays my living expenses and recently started saving a bit as well.
My marketing strategy is basically give away ebooks for free at launch and promote on social media. A few readers still pay for them (which is what I wanted from donation model). I write short books (about 100 pages), so I end up doing 2-4 a year (but losing interest now). Then bundle related books. And so on. You can find book links from my profile.
I don’t make much money on eBooks (compared to writing ten books for publishers like McGraw-Hill, J. Riley, Springer Verlag, etc.) but I so much prefer self published eBooks - so easy to push updates and new editions! I have one eBook that sells very few copies (on the super niche Lisp Hy language) and I decided to make the minimum price free last month. The sales actually increased.
Anyway, probably the best model at least for me is to make eBooks freely available, but with an optional ability to pay for a book.
It is 100% correct that bigcorps find it much easier to make purchases than donations. One-off charges are also much easier to sell than subscriptions as they get treated as depreciable capex and are less vulnerable to being optimized away by future cost-saving initiatives.
I agree with it being easier, but I din’t think that a contribution of this form would be accounted for as a capital expense. It would a one-time operating expense if not a donation.
I like your idea. Lots of people are willing to contribute something but it needs to be easier and (even superficially) give something in return. Core team interviews, roadmaps etc. It's more work but it could pay off.
Not really related but a barrier for me in contributing to something new has been I'm already on recurring donations for a few things and it's easy to lose track. It would be nice if there were a solution to that.
I like privacy.com for things like this and you might also. You link your bank account and then you can set up on-the-fly credit cards with any name/address and arbitrary limits. You can set a maximum credit limit, or monthly recurring limits, or other configurations. It's also great for one time payments for shopping online.
I think they even have a rewards program now.
I highly recommend it if you can get over the uncomfortableness of linking a bank account to it. I just created a separate online account for this purpose.
In this case, I'd just create a separate card for each project you want to support with a monthly limit equal to your desired amount. They have an app and browser plugins and the like. It's really easy.
That was the point I was trying to make - "we" (society) see FOSS as a commons good, so it suffers from the tragedy. But to try and get some of the value following to the creators, we could make the path of companies easier to hand over cash - buying relatively small amounts of "access" ( it that has its own downsides)
Basically this is a hard problem and without a market solution it's unlikely to ever get within spitting distance of fair. But I cannot see the market solution.
I subscribed to some type of MySQL Support 15 years ago. It was about $150 a month and I figured I would never need it. One day I had a really difficult problem, so I emailed support. We went back and forth a few times and then they informed me that their "support" plan meant I was supporting their project, not that they would support me. I guess I got fired as a customer. This was the first time I had heard of this. Calling it "support" made it easy for the company to justify and buy.
But that's a great little trick - the accounts department sees "annual support plan" and thinks they are buying support from the project - but really ... :-)
For-profit companies are expected to generate profit for the shareholders. As such, donations are hard to justify.
- Most technical teams have pre-approved budgets for licenses, SaaS, consultancy services.
- Most teams do not have pre-approved budgets for donations. Managers need to go through bureaucracy and justify it.
- Donating to organizations that are not famous charities can look suspicious (think bribery & so on). Donating to an informal group more so. Donating to some person on GitHub even more so. Imagine lawyers and accountants having to explain it to some tax agency.
- Many countries don't have the tax relief and loopholes that encourage donations
I was a corporate sponsor of PyConUK [1] and PyData London and this mirrors my experience.
At the time, JPMorgan had around 4500 Python devs globally and many of the FX/Commodities/Credit/Rates trading systems were Python-based (Google for Athena or watch [2]).
I felt the bank had gained hugely from the Python community so it was only appropriate to give something back. Fortunately I had lots of support from my MD internally. Ultimately the budgets were controlled from New York and it took time for the approval discussion between London and New York to conclude.
We took sponsorship packages that included logo on banners, an intro during the opening keynote, a recruiting booth, and entry passes for 10 of our devs. The money paid to PyConUK was small in corporate terms, and certainly less than the cost of the time I and the recruiting lead invested in getting it going.
The net result was a good amount of exposure, lots of people saying "I didn't know JPMorgan used Python", two direct hires I think, and useful support for Python in the UK.
I'm no longer at JPMorgan but as long as my future employers benefit from my Python experience, I'll look for ways for them to give back to the community. If you are in the same position, please encourage your employer to do it too. (I'm happy to be quoted on the benefits; my email is in my profile here).
The recruitment angle has always been pretty successful, and now with JP's extensive open source work exposure to collaborators and emerging projects has become valuable for participants at these conferences.
With the pandemic, I moved us from being just a pycon sponsor to sponsoring the psf directly (https://www.python.org/psf/sponsorship/sponsors/), though without a senior MD championing these types of initiatives it's always up to lower level employees being vocal and committed enough to push.
I remember JP Morgan putting on a very good show that year in Cardiff, and if memory serves you signed off a meaningful sponsorship sum (#) over coffee in Canary Wharf.
My takeaway from that surprisingly short deal was that with FOSS the real hard part (demonstrating value) is done and dusted long before any money conversations come up.
Most people I have had this conversation with in companies large and small are like Steve above - see the value of FoSS to their business and want to both give something back and more importantly support the producers of an important input to their business.
FOSS does not have and probably cannot have the "money for licenses" business model, but that's not to say there are not decent lines of funding that cannot be tapped.
It's a frustration, yes but both sides are aligned in this.
(#) For various definitions of meaningful I guess.
> and if memory serves you signed off a meaningful sponsorship sum (#) over coffee in Canary Wharf.
Ha, Paul, I do indeed remember that coffee! I didn't have the authority to approve anything on the spot, but I did promise to do my best to make it happen.
I always proposed that the way forward is training, consulting, and speciality services. I’ve seen this model work so much better than most, and for languages seems more obvious (I’m less sure how to handle the problem for packages in an ecosystem that also deserve funding)
I always wondered why that wasn’t the PSF model (having a business arm that provides these things to fund development and other initiatives like putting together conferences)
With Python in particular I’ve heard first hand from people who I have no reason to believe wouldn’t pay for what they’re saying: specific language features or enhancements. It’s impossible to donate directly to the PSF or otherwise for it be a line item for that specific purpose though, and I think in Pythons case it has hurt their ability to raise funds, maybe
> to ensure future funding and volunteer hours are used efficiently and effectively.
One of the reasons that Python’s development has been so haphazard in the past few years is because the language is primarily developed by volunteers, and the philosophy has been that “you can’t tell volunteers what to work on”. I wonder if something’s going to change there.
Google paying for approximately 1 developer isn’t going to change that the vast majority of Python work is done by volunteers who the PSF isn’t in a position to direct, no.
There is presumably some volunteer work of some kind done directly for PSF, which they can direct, but most of the Python development work isn't done that way.
You can probably improve (ensure is to strong of a term) the effectiveness of outside volunteer development in a number of ways, though, such as improving community communication of priorities and improving processes around accepting, reviewing, and providing feedback on contributed code.
The volunteer hours are used to offer contributions. Those contributions are accepted or rejected. If you control what gets accepted or rejected, you control the definition of how the volunteer hours are used effectively in terms of the final result.
Remember: "open source" has never meant anyone can get changes upstreamed. It has always only meant anyone can use the source downstream. This confusion has resulted in a lot of indignant outrage by armchair contributors.
Well, if Mozilla is any indicator... Python will become a slower clone of Go, dropping useful features and adding ones no one asked for, while Python Foundation will acquire a completely unrelated data collection company :D
275 comments
[ 4.0 ms ] story [ 87.2 ms ] thread> Some observers have remarked that this incompatibility appears to have been a deliberate aim of Microsoft's, in an attempt to at least slow the advance of Sun's Java technology.
https://en.wikipedia.org/wiki/Visual_J%2B%2B
You’re right, Python is not a simple language at all. Yet that’s how it’s widely perceived - I’m not sure why.
This would represent a significant increase in the number of people paid to work on the Python language. Two years ago it was estimated that it only had (the equivalent of) two full-time employees working on it.
https://discuss.python.org/t/official-list-of-core-developer...
And yet ... collectively we can only find enough money to pay two full time salaries?! Seriously?
There are so many better (and worse) things to finance than Python Foundation.
Your point would make more sense if the claim was that a significant portion of the corporation's profits should go towards financing Python. Then I would agree that "there are so many better things to finance than Python". But if we're discussing a salary or two in the context of corporations that employ hundreds of thousands of people, then your argument makes much less sense in the current context. There are very few things that would have better marginal utility then paying for the (effectively) third full-time Python developer.
This problem isn't solved by little old me pulling out my check book. My bank and my insurance company don't need charity from me in order to fund the technology they've built their businesses on. They need to learn to pony up and start funding the "free" software they use. Paying myself would only help kick the can down the road - and encourage and enable this sort of corporate mooching to keep happening.
In 60 years most of the volunteer maintainers of the software we depend on every day will be dead. Some time between now and then we need solution to this problem of opensource sustainability. Delaying buys us nothing.
Surely you’ve seen volunteers join existing projects out of their own interest and need now. The decades that you contributed (thank you, BTW): were those all on projects you started, or did you also join some existing efforts?
I don’t see any reason to think that will stop in 10, 20, or 60 years.
Will there? I feel like most of the opensource attention flows gradually up stack / toward trendy things on github and away from infrastructure older than github. When heartbleed happened a few years ago it was revealed that OpenSSL was maintained by basically one guy. The same is true of the linux timezone database. Apparently python is mostly 2 people.
I'd put money on this being is a theme for lots of tools we take for granted. How many people work on bash? Or busybox, grub, libpthread or libicu? I bet the number is tiny.
People want to work on popular, useful things. Python is both of those.
Worse: they are exploiting people's good intentions.
They co-opted the Free Software movement.
Copyleft has been painted as "business-unfriendly" and replaced with permissive licenses - aka unpaid labor without "strings attached".
> They need to learn to pony up and start funding the "free" software they use
...instead they even dodge taxes.
Yet it's become such a widespread sentiment to expect software for free that charging for something like Python would probably be seen as obscene and kill the language through loss of reputation alone.
I'm not a big fan of "Now this language has gotten popular, let's add all the features to it that made our other language so unpopular."
Definitely concerns that more hands could make another Angular, which had 2 incompatible branches, with one going from v2 to v11 in 5 years.
The python3 interpreter could have been largely (or completely) source-compatible with python2 code. They could have done it rust2018 style - where source code files can opt in to a newer parser, and in return get access to the new features. Then the whole python3 drama would have been avoided. MacOS still ships with a python 2.7 interpreter because of all that nonsense.
But if they only had 2 full-time people working on it, no wonder they didn't have the man power to do the transition any other way.
Disappointing.
> WARNING: Python 2.7 is not recommended.
> This version is included in macOS for compatibility with legacy software.
> Future versions of macOS will not include Python 2.7.
> Instead, it is recommended that you transition to using 'python3' from within Terminal.
banner on launch nowadays...
If more people are working on it full time, we'll just get more Walrus Operators. A very hypothetical gain at cost of an increasingly complex core language.
/rant. Those kind of features are going to keep coming anyway, I'm afraid.
It's like someone used to PHP or JS style coercion, doing: 1 + "2", getting a type error and asking "wtf python?".
The walrus operator is obvious, and very handy in many cases.
The capture part of the pattern matching PEP, on the other hand, has been designed shodilly.
People do this with Google and Facebook all the time. We call them ads. Not every ad campaign has a positive RoI.
But what’s the problem here? Is python struggling as a language? If there were clear calls for help companies could find it a lot easier to justify donating money or dev time.
As a language, interpreter, runtime, yes. In terms of adoption, no.
Much of the popularity of Python is based upon third party libraries that have been contributed by both individuals and organizations. These are still contributions, and there are many cases where the contributors are paid.
Should Python receive more funding and pay more people to work on the language? Probably, yet it is doubtful that having a large team working on the core language will improve the health of the language.
It's also a big statement about how non realistic were the ideas that FOSS will thrive on volunteers working together.
Back in the day where the "Cathredral and the Bazaar" was published, VALinux got its IPO, and FOSS was the latest hype, people really believed that this will work without corporate sponsorship, just by volunteers doing the work.
Then again, they also believed in many eyes available through the magic of FOSS making bugs shallow (Torvalds), and you get 20+ years of some obvious bug in something as critical as OpenSSL.
https://mail.python.org/archives/list/python-dev@python.org/...
Needed funding though.
Ruby got MJT in a big effort to make Ruby a lot faster. PHP is constantly increasing it‘s performance and tries to change a lot to get faster (basic building blocks for JIT in PHP8).
Why is python not iterating so much on it‘s performance? Or is it doing this but it‘s not as public in promoting it like my former two examples.
It doesn't have that much adoption, which suggests that performance isn't critical to Python's user base. If PyPy got significant market share, perhaps the CPython developers would prioritise an approach like this. (Or perhaps they'd have even more justification to say look, there's already a performance-focused implementation, we'll do our thing).
But the speed improvements would be welcome if they were in cpython because you can be quite sure there will be no problems.
One example is that Pypy switched away from reference-counting to fully garbage collected. They are probably right that's faster, but if I'm running a webserver, it's actually really comforting to know that any garbage produced by the processing of a request is collected when that request ends (barring cycles of course) so I don't end up with weird hangups.
I'm not in the python community, so it's possible this person is well known and respected enough that part of this can be taken on faith. However, because the author does not provide benchmarks or any other proof of the effectiveness of the supposedly almost complete stage 1, I cannot personally call this proposal serious.
The most information we got was "on a few simple benchmarks I'm seeing about a 70% speedup vs master for both default and LTO configures." However, this information is almost completely useless. What benchmarks? What architectures? What hardware?
It would take the author 5 minutes of their time to say "here's the benchmark code I ran, it executed in [time] on CPython master commit [hash], and [lower time] on my patch, running on a machine with [hardware]." To be completely honest, I fail to see why they are not providing this information that would make their proposal significantly stronger.
Since he was only asking for payment once he hit his benchmarks for each stage, why does it matter?
So it might be true that there are only a few FTEs working on Python, but the larger community of people contributing to it is much larger.
That post was made while Guido was at Dropbox, and it claims he had one day a week?
Considering the larger Python ecosystem the community does a lot of the work, so saying there are only two people working full-time on Python is quite misleading IMHO, as Python has probably one of the largest communities in the world for a programming language, the Github repo alone lists almost 1.500 contributors.
The discussion thread on that reveals that it was a bit low even by its explicit premise (core devs that had allocated time for OSS that was used for Python), and that methodology itself undercounted reality because it ignored people who had and made use of employer permission to use paid time but did not have a set allocation.
Coupled with the fact that they get paid for the alleged churn and others have to catch up on unpaid time, this can ruin a project.
The Python dev community has certainly gotten far less vibrant (and productive) in the last decade due to stifling corporate influence.
One is two people. The other is a few thousand person-hours of effort per year.
The equivalent of two full time employees could be 10 people with 20% of their time. I suspect there are a lot of patches submitted to python that were developed by someone being paid while they did the work that isn’t accounted for in the 1 actual full-time plus 5 20% time people.
IOW, paying for 1 additional named person to work ~2000 hours in 2021 will almost surely not be a net increase of 50% of capacity.
AFAIK most core developers spend, at most, 20% of their paid time on the language / 80% on other things, not (as you might think) 80% / 20%.
But, yeah, ultimately I'm glad any company is contributing to upkeep the language, but the whole "Visionary Sponsors", "Sustainability Sponsors", "Maintaining Sponsors", "Contributing Sponsors", etc distinction between them seems very unnecessary.
I agree with the embrace-extinguish crowd. The strategy will be to introduce a huge breaking change in the next release.
This is a corporation. They don't do things for free. What started out as a "free" browser turned into a vehicle to capture a monopoly on internet video. What makes you think they dont have a long term plan to profit from python?
So your conspiracy theory is that Guido, the BDFL at the time, colluded with Google, who use python for numerous products, to destroy python and popularize Golang......?
You don't need a scheme to kill a plant. You can just stop watering it.
In fact, I have nothing but the deepest of respect for the Devs who built a version of python better than the "officially sanctioned one" without having any financial support.
This massive leverage is sort of unique to open source because it’s non-rivalrous. Resources you donate like food, shelter, etc can only help a limited number of people.
Note that this analysis of highest-impact does not make any moral judgements about which is more important. I personally would rather pay to help build plumbing in Uganda rather than this, but it definitely won’t have the same leverage.
Love that trickle-down economics,
Step 1: less time spent on dev tasks
Step 2: ??????
Step 3: end war, end hunger
An improvement to the Linux kernel scheduler that could reduce the power consumption of every android phone and the majority of servers in the world by 0.01% has a bigger impact than building an entire offshore wind farm.
Let that sink in. It’s hard to fathom how leveraged changes are to the software run all over the world. This is not delusions of grandeur, this is just the reality of so much of the world running on the same software.
I wouldn't hold my breath for a "big payout" -- a company will invest in what they find is necessary. Maybe it's a gold sponsor, maybe a junior engineer hire or more. The market is efficient in my view and everyone involved benefits. The disconnect I see is the delusion that open source contributor(s) are owed something because someone else found the software useful. They seem to so quickly forget that they picked the liscense and that liscense is being used as designed.
Your narrative is not productive. Instead, maybe advocate for cultural change in what it means to adopt open source technology, eliminate barriers for monetary or other forms of support. It's unlikely the intent of adoters is to be laughing all the way to the bank as you're claiming.
If you don't want companies to use your work without paying, then don't open source it under free licenses. Simple, simple solution. You can't make something freely available and then complain when people use it. You don't get to choose both sides of the argument.
> promoting open source movement manipulating developers into giving up their hard work for free
Make up your mind, were they exploiting open source by using it or were they getting more people to contribute to open source? You know the point of contributing to open source is it make it open source, right?
Do you exploit open source by using Linux instead of paying for Windows? Do you exploit open source by celebrating open source developers?
> were they exploiting open source by using it
Yes, they were profiting from labour they didn't pay for
> or were they getting more people to contribute to open source
Yes they promote open source so they can get more work done for free
> You know the point of contributing to open source is it make it open source, right?
That's the idea, but reality is that this is a loophole where big corporations save on R&D and get work done without having to pay salaries and taxes. In many countries you cannot hire someone without paying them even if they agree to work for free and the same should apply to software.
> Do you exploit open source by using Linux instead of paying for Windows?
The problem is that it is difficult to reward all the people who contributed to Linux and that needs to change.
> Do you exploit open source by celebrating open source developers?
That makes little sense. If you embrace open source you are actually helping big companies getting free labour.
In those countries, am I permitted to shovel my neighbor’s sidewalk or mow their lawn? Can I help a friend paint a room or change a tire? Am I permitted to write a poem and share it for free? Can I publish scientific findings that I might have created?
> If you embrace open source you are actually helping big companies getting free labour.
I see it as “Yes, and:” We are helping all humans avoid the tedium and drudgery of solving now-pointless problems because they have already been solved, avoid introducing novel security bugs, and overall to help us collectively stand on the shoulders of giants rather than on the toes.
That does help large companies avoid creating a bunch of tedious, pointless, repetitive work which humans would have to forfeit large chunks of their lives solving. That sounds like a feature rather than a bug to me.
It also helps small companies afford to offer tech-based solutions and to better utilize the constrained pool of “people who are good at programming”.
I think you’re crossing legal and moral arguments. I might decide to shovel my fixed-income pensioner neighbor’s sidewalk for free while deciding to not shovel Larry Ellison’s sidewalk on the other side of my property even if he asked nicely (which I doubt he would).
That’s a moral/ethical choice on my part, but the law everywhere probably allows that transaction.
If you don’t want to contribute your time, skills, and attention to open-source, I don’t see anyone suggesting that you be forced to do so. You are the one claiming that there’s something that ought to be illegal about it, with which I disagree.
Good point, we should string up all these white bastards from the nearest lamp post.
How dare these pale-skinned, cock-wielding scum contribute to the common good!
No, it's a power grab, because full time developers plowing through the code base and working on minor issues crowd out the actual IP creators and make them leave.
Expect a dull, boring corporate controlled maintenance age where one or two people do mundane work and directors of various foundations and groups take the credit.
That would be an ideal scenario to be honest. If company wants to use the work, they should pay for it and for all time that lead to it or developers should be required by law to change licenses so that companies would have to pay either a subscription or a fixed fee for the software version.
That divide between boring development and rock star seeding indeed exists and typically people working on IP have their own companies and contract out their work. They create a PoC and then company employees make it into a product. That used to work well in the UK, but law has changed to be more akin to the US rules where you can't provide IT services as a small company (typically one man) and you have to be an employee.
So what's in it for Big Tech? Well, in a situation where controlling the technology or suppressing it is difficult due to the low costs of starting over, it is in their best interest to promote the ecosystem rather than control it. When they put in the time, money, and engineers to make it better the return on investment can be massive, because of the help they get from the community to grow, maintain, and keep compatible this core component at less cost than if they did it themselves.
The incentives align and benefit everyone, especially if there is a fair governance system mediating between all parties involved. The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance. I hope this makes everyone a little more optimistic about the direction of open source, especially as companies realize the real value it can have for all involved.
1. Not malice but incompetence
2. Actually malice, trying to make it look like incompetence, but being incompetent at that makes it... both?
3. Actually being competent at feigning incompetence (the ultimate malice?), perhaps we need to develop a new 'razor' for that.
> The barrier to jump in, or fork off and start over is far lower compared to a browser or file format.
False. Its way easier to switch browsers than for a company to switch to an alternative Python implementation. Cpython is the defacto standard that the other implementations follow. What you are suggesting is that if Python 4 breaks your code base you are free to fork off Python 3 and keep the just the changes you like. This is absurd.
> The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance.
Python is in no danger of abandonment.
Anyhow. It appears you represent Google, so know this: We are watching carefully. Any attempt to subvert Python will be publicized and have a disproportionate response from the user community.
Who is 'we' in your sentence? Please do not speak for the community at large. For many Python users, as well as for the Foundation, as well as for many companies building on Python stacks, Google's allocating part of its vast resources to the continued development of Python is considered a Good Thing(tm) that brings a net financial benefit in the short term as well as an increased peace of mind in the medium-to-long term.
All other browsers are derivatives of Chromium at this point or have barely any users, made even worse by the way Google executed EEE on web standards with DRM extensions. It takes enormous resources to write a battle-tested browser viable for the web. It is far easier for someone to write a script interpreter for their own uses. HN is written in Arc Lisp, for example.
WebKit is open-source (LGPLv2) and used in GNOME Web (Epiphany) on Linux notably. (in addition of Safari on macOS and iOS)
Google is subverting the web, and the only disproportionate response from the user community is "Chrome is good, Safari is bad, FF needs to keep up with Chrome"
I see your point and I'd tend to agree, except that we've all seen cases of successful projects suffering under the umbrella of a big company. If Google took care of Nim or D, I'd be more than happy. But Python? It's doing well, they better leave it alone.
Or you will do what pleb ? - how about you let Google choose where it wants to put its money. I use Python regularly and have never touched Nim or D so I personally support this.
Beware: Its events like this that cause organized resistance and then alternatives to Big Tech and even this board.
--
I am one of those people, so I will respond.
> The barrier to jump in, or fork off and start over is far lower compared to a browser or file format.
False. Its way easier to switch browsers than for a company to switch to an alternative Python implementation. Cpython is the defacto standard that the other implementations follow. What you are suggesting is that if Python 4 breaks your code base you are free to fork off Python 3 and keep the just the changes you like. This is absurd.
> The biggest threat to an open source project is therefore not Big Tech collaboration, but project abandonment and lack of maintenance.
Python is in no danger of abandonment.
- https://beeware.org/
- https://kivy.org/
I doubt Google is going to sponsor any though.
In fact, Jetpack Composer and Kotlin cross platform are pretty much a counter attack on Flutter.
Nothing is black and white in the world. Personally, I use products that I pay for from Google (GCP, YouTube Music, etc.) and Facebook (Oculus VR), but I stay away from “free” stuff paid for by data that is owned by me.
TLDR long rant ... Boiled down. G00gl3 didn't do this selflessly. No praise, no PR, no prepared BS.
I have been mulling on Something that makes it less charity - purchasing a "not really support" option. This might be a annual membership, in return for which you get ... early access to annual roadmap pdf. Or an online video from the main devs explaining what they are doing for five minutes (#)
What if there existed something to Make the above easy and simply to do - a small foundation who's job is to keep membership rolls and accept payments from companies on behalf of any foss project that signs up (it's something I imagine patreon could offer). They then ensure that the (minimal contract) is adhered to in some manner.
(#) Seriously - you could set up a zoom call with 1-5 devs and just hit record once a year - I promise that 99% will see this as unbearable imposition and then talk for two hours. And that's "actionable paid insights into the future of this tool we depend on"
So the point being, if your FOSS project gets traction, then sign up to this foss-patreon, tell everyone to click to subscribe and you might might get a sponsor or two.
I used to be 100% against tax deductible contributions to not-for-profits. I've turned 180 on this. Citizens are much better at allocating funds to worthy causes than a central government.
In the case of our Makerspace, we couldn't get any public funding because we didn't fit into a predefined category such as a "sports team", and operating a garage full of tools could be seen as competing with private industry. Somehow there was money available for the lawyers who delivered that opinion to the local government though.
For an individual, the charity can claim the basic rate tax the individual paid (Gift Aid) and higher rate tax payers can claim the higher rate taxes using their self assessment, so in round numbers, it doesn't really matter who makes the donation.
That being said, it relies on there being a UK charity, which a lot of software foundations are not.
(Aside: I work for a US company that does support US foundations, as well as employ a few CPython core devs)
Did you end up coming up with company sponsorship plans for your makerspace? What kind of perks did you offer your sponsors?
It's a platform I've created where you can allocate anywhere from 0.1 - 5% of revenue to causes you believe in. Right now it's geared towards charities but I'd love to include open source sponsorship in there too.
Putting on my company hat, and I'm no expert, I believe for this to work in Denmark (where I live), you would need to be able to put some form of goodwill on the balance sheet. Companies still need to pay tax on donations (at a reduced rate up to ~2300€/year for recognized charities).
Unfortunately, 0.5% of the Danish workforce is directly employed by the tax office. It's a serious threat over here.
You kind of threw this out there. What makes you think this, is it something different about a charitable cause versus say health care? Both are distributing the same resources.
I might agree that decentralized decision making about resources is superior, but even that is full of caveats. I’m not sure why you think independently unorganized citizens are better than a group of citizens whose official capacity is to allocate (ie why call out government as something different? The important piece is centralized/decentralized, not govt vs citizen.)
At least it is supported in the literature - the lag and loss of resolution in reporting back centrally makes decisions a worse fit for actual conditions on the ground.
Another thought: Often devs have a yearly budget that can be spent relatively freely on training/conferences/courses/books/etc. Conferences and travel are expensive, but with everything going on it's not being used as much. I'm sure people would pay to get on a Zoom call or Q&A with a few core devs if it comes out of that budget. Price it pretty high, perhaps a few hundred $ per participant, maybe add country-dependent pricing or make exceptions for OSS projects/etc. Basically a fundraiser with a training/conference talk component.
From my own experience, I got just one donation in about a year of giving away free learning material. I then tried out ebooks (which was initially paid option only, but later switched to free online version and paid pdf/epub). This set up now pays my living expenses and recently started saving a bit as well.
Anyway, probably the best model at least for me is to make eBooks freely available, but with an optional ability to pay for a book.
It is 100% correct that bigcorps find it much easier to make purchases than donations. One-off charges are also much easier to sell than subscriptions as they get treated as depreciable capex and are less vulnerable to being optimized away by future cost-saving initiatives.
Not really related but a barrier for me in contributing to something new has been I'm already on recurring donations for a few things and it's easy to lose track. It would be nice if there were a solution to that.
I think they even have a rewards program now.
I highly recommend it if you can get over the uncomfortableness of linking a bank account to it. I just created a separate online account for this purpose.
In this case, I'd just create a separate card for each project you want to support with a monthly limit equal to your desired amount. They have an app and browser plugins and the like. It's really easy.
Do not try to sell charity. Sell it as the investment is is.
Basically this is a hard problem and without a market solution it's unlikely to ever get within spitting distance of fair. But I cannot see the market solution.
If only there was a way to get a bit of money from everybody to pay for common goods...
But that's a great little trick - the accounts department sees "annual support plan" and thinks they are buying support from the project - but really ... :-)
I've been saying this for decades:
For-profit companies are expected to generate profit for the shareholders. As such, donations are hard to justify.
- Most technical teams have pre-approved budgets for licenses, SaaS, consultancy services.
- Most teams do not have pre-approved budgets for donations. Managers need to go through bureaucracy and justify it.
- Donating to organizations that are not famous charities can look suspicious (think bribery & so on). Donating to an informal group more so. Donating to some person on GitHub even more so. Imagine lawyers and accountants having to explain it to some tax agency.
- Many countries don't have the tax relief and loopholes that encourage donations
At the time, JPMorgan had around 4500 Python devs globally and many of the FX/Commodities/Credit/Rates trading systems were Python-based (Google for Athena or watch [2]).
I felt the bank had gained hugely from the Python community so it was only appropriate to give something back. Fortunately I had lots of support from my MD internally. Ultimately the budgets were controlled from New York and it took time for the approval discussion between London and New York to conclude.
We took sponsorship packages that included logo on banners, an intro during the opening keynote, a recruiting booth, and entry passes for 10 of our devs. The money paid to PyConUK was small in corporate terms, and certainly less than the cost of the time I and the recruiting lead invested in getting it going.
The net result was a good amount of exposure, lots of people saying "I didn't know JPMorgan used Python", two direct hires I think, and useful support for Python in the UK.
I'm no longer at JPMorgan but as long as my future employers benefit from my Python experience, I'll look for ways for them to give back to the community. If you are in the same position, please encourage your employer to do it too. (I'm happy to be quoted on the benefits; my email is in my profile here).
[1] https://pyvideo.org/pycon-uk-2017/pycon-uk-2017-jp-morgan-sp...
[2] https://pyvideo.org/pydata-london-2018/python-at-massive-sca...
With the pandemic, I moved us from being just a pycon sponsor to sponsoring the psf directly (https://www.python.org/psf/sponsorship/sponsors/), though without a senior MD championing these types of initiatives it's always up to lower level employees being vocal and committed enough to push.
My takeaway from that surprisingly short deal was that with FOSS the real hard part (demonstrating value) is done and dusted long before any money conversations come up.
Most people I have had this conversation with in companies large and small are like Steve above - see the value of FoSS to their business and want to both give something back and more importantly support the producers of an important input to their business.
FOSS does not have and probably cannot have the "money for licenses" business model, but that's not to say there are not decent lines of funding that cannot be tapped.
It's a frustration, yes but both sides are aligned in this.
(#) For various definitions of meaningful I guess.
Ha, Paul, I do indeed remember that coffee! I didn't have the authority to approve anything on the spot, but I did promise to do my best to make it happen.
I always wondered why that wasn’t the PSF model (having a business arm that provides these things to fund development and other initiatives like putting together conferences)
With Python in particular I’ve heard first hand from people who I have no reason to believe wouldn’t pay for what they’re saying: specific language features or enhancements. It’s impossible to donate directly to the PSF or otherwise for it be a line item for that specific purpose though, and I think in Pythons case it has hurt their ability to raise funds, maybe
Complex topic for sure!
One of the reasons that Python’s development has been so haphazard in the past few years is because the language is primarily developed by volunteers, and the philosophy has been that “you can’t tell volunteers what to work on”. I wonder if something’s going to change there.
You can probably improve (ensure is to strong of a term) the effectiveness of outside volunteer development in a number of ways, though, such as improving community communication of priorities and improving processes around accepting, reviewing, and providing feedback on contributed code.
Remember: "open source" has never meant anyone can get changes upstreamed. It has always only meant anyone can use the source downstream. This confusion has resulted in a lot of indignant outrage by armchair contributors.
Eric Idle, representing Google, lights far too close to him and begins: "Does your wife Go? Is she a Goer?"[1]
(This is, after all, Python thread, no?)
[1] https://en.m.wikipedia.org/wiki/Nudge_Nudge