> We received a proposal from PlatformIO Labs in October 2022. While we absolutely empathise with the challenges of funding open-source projects, we were unable to justify paying the very substantial recurring fees involved. We indicated that we would not be proceeding, and have subsequently made some investments elsewhere
What am I missing here? Is PlatformIO rejecting this contribution from a community member (not a Raspberry Pi employee AFAICT) unless the Raspberry Pi foundation agrees to pay them substantial recurring fees?
I understand PlatformIO is a business, but it’s bizarre to see them trying to extract fees from a company that doesn’t appear to be involved in this open source work.
Am I missing something?
The PlatformIO team’s responses all feel like they were written by a team of lawyers and PR people, or at least someone trying to pretend to be a team of lawyers and PR people. I don’t entirely understand what’s going on with this whole situation but from what I’ve seen I think I’ll steer clear of PlatformIO in the future.
I have seen this plenty of times in my part of tech (AAA games). People often approach companies asking to integrate their code into games, like FPS unlockers or even entire multiplayer mods. But even if the code and the ideas are offered for free, it will cost significant resources to dedicate team members to porting the work, further developing it until it meets quality standards, certifying an update, pushing it out, and then maintaining it. There are a few dozen of these small costs that add up.
Integration is easier in open source. But not maintenance and further development until the feature meets reasonable expectations. And you can’t really ask anyone who does a PR to maintain the code forever either.
This is genetically true, but it should be noted that PlatformIO already has integrated the RaspberryPi platform and maintains code for it: For example, a project offering a RPi integration will probably have to maintain it and further develop it, or face significant pressure to do so. And if they don’t see that it will be worth it, maybe it won’t. They know their customers and business better than we do.
https://registry.platformio.org/platforms/platformio/raspber...
This PR appears to be a specific API improvement that a lot of people in the community have been using and maintaining.
In parallel, PlatformIO appears to have tried to get recurring fees from RaspberryPi after they implemented support for it. The Raspberry Pi foundation declined to pay, and now PlatformIO is refusing to accept these contributions from the open source community, citing the way Raspberry Pi has declined to pay their substantial recurring fees.
I get that it’s a commercial product and they’re not obligated to accept anything they don’t want to. However, rolling out support for a platform and then refusing community engagement with quality PRs on the basis that they couldn’t extract recurring fees from the vendor is rather uncool.
Just as it’s not fair to expect this company to maintain PRs forever, it’s not fair for this company to expect the Raspberry Pi foundation to enter into recurring fee payments forever so this company can add a community-generated feature to their commercial product.
> it will cost significant resources to dedicate team members to porting the work, further developing it until it meets quality standards
I understand what you’re saying, but that doesn’t not appear to be the case here. This appears to be a popular and well-tested form in use and in ongoing development by an active community. It’s also for a platform that PlatformIO already supports. They’re saying they don’t want to work with the community on this because the vendor (who is unrelated to this entire debacle) won’t enter into a contract to pay them recurring fees for it.
Please read my detailed explanation in the original PR https://github.com/platformio/platform-raspberrypi/pull/36#i...
As one of the comments on GitHub suggests, why not accept the PR and let the community maintain it? Otherwise it feels like this is not an open-source project -- just source-available.
I don't believe there's any official support from Raspberry Pi for using the Pico with Arduino. Raspberry Pi provides Micropython and a C/C++ SDK. My guess that professionals in the embedded space probably use the SDK directly (it's nicely documented) and do things themselves, but hobbyists like me would like a package manager so we can install libraries easily. Enter Arduino.
This isn't Arduino's official support for the Pico either. Arduino made a port based on mbed. It doesn't seem to be used much, based on my searches. Not much about it since 2021.
That's because Earle Philhower's "community port," called arduino-pico [1] is nicer. I switched to it to get good USB-Midi support, because it has an option to use Adafruit's fork of the TinyUSB library.
But, as a package manager, Arduino can be confusing and PlatformIO is supposed to be more sane. So, with the patch, you can do that, and the instructions are here [2]. It works fine. The patch isn't merged, but it works.
Somehow this is the unofficial, alternate choice in multiple ways, so it probably looks pretty dubious. But it's the one that seems best for me. Ideally I'd be using a language with a real package manager instead of Arduino or PlatformIO's embedded-only implementations. (I don't even particularly like C++.)
[1] https://github.com/earlephilhower/arduino-pico [2] https://arduino-pico.readthedocs.io/en/latest/platformio.htm...
Whilst PlatformIO come across as the villains in this story, adding the RPi support to their core would indicate some kind of support/work from them in future versions (beyond the ‘non production’ support they provide now). It’s upto them if they want to provide this, otherwise it can stay as a patch.
Ultimately this is the never ending saga of the profit/work from open source flowing from easily copyable work of software companies and enthusiasts towards more easily monetisable hardware companies
I find this to be a bit misleading.
My take is that the RPi foundation wants PlatformIO to do support work for RPi for free.
At no point do I see the RPi foundation saying "Hey, we'll allocate programmers and resources to maintain this code for our chip."
Open source means that you get the code and that's it--open source doesn't mean that you get any say whatsoever over the developers. When did everybody start being so damn entitled that everybody thinks they can tell maintainers what to do?
Don't like it? Shut your piehole and roll up your sleeves. Quit bitching, fork the PlatformIO stuff and do the work yourself. If the fork is sufficiently popular, it will yank enough people away from the original that they'll cave. And if it isn't sufficiently popular, well then that's an answer, too.
How did you arrive at this take when the original code and the PR aren’t related to the Raspberry Pi foundation at all? This is a community contribution, not something the Raspberry Pi foundation tried to push throug.
> At no point do I see the RPi foundation saying "Hey, we'll allocate programmers and resources to maintain this code for our chip."
They didn’t write this code, and this isn’t what PlatformIO is asking for. PlatformIO wanted the Raspberry Pi foundation to pay substantial recurring fees so PlatformIO could merge this PR by someone else.
> Don't like it? Shut your piehole and roll up your sleeves. Quit bitching, fork the PlatformIO stuff and do the work yourself.
That’s quite literally what they did. This was developed by someone in a fork. That person didn’t even submit this PR. None of the people involved appear to be related to the Raspberry Pi foundation, but PlatformIO tried to bill Raspberry Pi for it anyway.
A third party (the committer - maxgerhardt) wants PlatformIO to do support work (on someone else’s code - Earle Philhower) for people who want to use the Arduino toolset on RPi for free.
I think it’s fine that PlatformIO and RPi don’t want to fund this.
In particular, it appears that PlatformIO already notionally supports the Raspberry Pi PICO (https://registry.platformio.org/platforms/platformio/raspber...) platform. Their site even marks it as one of the "top 10" by popularity.
The opening comments of the pull request describe the changes as a 'massive upgrade.' Does this add a new maintenance burden for PlatformIO, or do the proposed changes come closer to fleshing out the support that PlatformIO implicitly promises by including the Pico as a supported platform?
The integration of the community-supported core Arduino-Pico that's enabled by this PR would indeed be a significant upgrade to the existing core. It seems that this core now has broad community support with nearly 100 contributors, and the burden of continuing integration after merging this PR would be minimal.
PlatformIO appears to be using the support burden as a shield for defending their shady tactics of withholding approval (and indeed completely ghosting the entire community after repeated attempts for further comment on the PR for over half a year) of this highly wished for community-derived PR while they quietly attempted to woo Raspberry Pi Trading into a support contract last year.
The situation is now complicated by the fact that representatives of Raspberry Pi (perhaps Eben Upton himself) privately contacted the maintainer of this PR recently attempting to urge that it get merged. This feels like a surreptitious attempt to benefit from PlatformIO's work while avoiding the support agreement that similar vendors such as Espressif and SiFive appear to have entered into with PlatformIO.
Edit: This based on the summary comment here - https://github.com/platformio/platform-raspberrypi/pull/36#i...
Sure sounds like PlatformIO folks are just being dicks for no reason. This is like person A uploading my code (without permission and blessing from me, but not counter to my license) to github to solve problem B, in project C, and then leaders of project C tell me that if i want the prestige of my code being in their project, I owe them $megabucks per year (this being the first I hear of A, B, or C).
I understand (but would still be vupset) if rpi org was disallowing this on the grounds of commercial reasons, not the other way around.
But this is just on a whole another level.
From what I can gather, PlatformIO is not willing to fund future development on RPI themselves, and reached out to the much better capitalized RPI foundation to try to get funding. They may or may not have been assholes in how they did that, we'll probably never know. Asking wasn't insane, rejecting the patch isn't... Insane per se, even if it's probably shooting themselves in the foot by denying themselves a huge customer base. Their communication has been poor as heck, though.
I am intentionally not warning about JWZs policy on links from HN, because it's funny to me.
if i want the prestige of my code being in their project
LOL yeah that's definitely why this contribution is happening /sWell... isn't that what their customers are paying them for?
Not against projects monetising, but this doesn't look like a nice way to go about it.
- PlatformIO already has "official" support for the RasPi Pico board, with Arduino
- However almost everyone prefers and uses the "unofficial" earlephilhower/arduino-pico integration which adds a ton of features and is well documented
- A PR to add this integration to the PIO registry has been outstanding for over two years now
- In the last week or so the PlatformIO CEO has posted that they will not be merging the PR
- My understanding of their reasoning is that RasPi needs to pay PIO to support the branch going forward? The language is rather vague with a lot of talk about "communities" and "values" so I could be wrong about this, please don't sue me
- RasPi's response is basically "LOL no" since they are all-in on their horrible CMake toolchain and don't care about PIO
Never liked the project.