6 ms·
Raspberry Pi/PlatformIO conflict blocks support for Pico-Arduino toolchain
- dmitrygr 3y agoSeems like PlatformIO wants RPi to PAY them to be officially supported, even though RPi is not even involved in adding this support (someone else did and posted a PR). RPi seems to have correctly replied with what amounts to a "WTF‽". 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).
- brazzledazzle 3y agoThis situation and their responses are so bizarre that I have to wonder if there’s something we’re missing. Even the way they make a fuss about the true name of the legal entity is so weird.
- lxe 3y agoIt took me a while to grok the situation solely because of how bizarre the pushback from platform.io people is. 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.
- GauntletWizard 3y agoMaintainers are well within their rights to say "Fork it" if your vision of the product isn't theirs, or it would add time to their releases, or for no reason at all. One of my favorite examples is https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop-shipping-xscreensaver/ https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop... . Supporting a platform is expensive in time and mental energy. PlatformIO is under no requirement to do so. 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.
- brazzledazzle 3y agoI think if they had approached this with “we can’t maintain this platform without sponsorship” and solicited it from that from the requester and the general public and behind the scenes contacted the company to inquire about interest it wouldn’t have come off so oddly.
- two_in_one 3y agoPlatformIO believes devs cannot live without them, so they can rule the world and tax others. RPi rightfully show a finger, that was very kind, they could ask for money from PlatformIO for support.
- al2o3cr 3y agoYou left out an important detail: Project C is going to have to _support_ your "free" code in their product. If it breaks, even if not because of anything Project C did, their paying customers are going to demand work from THEM. if i want the prestige of my code being in their project LOL yeah that's definitely why this contribution is happening /s
- yjftsjthsd-h 3y ago> If it breaks, even if not because of anything Project C did, their paying customers are going to demand work from THEM. Well... isn't that what their customers are paying them for?
- evv 3y agoExactly. If PlatformIO had enough paying customers who needed support for this chip, they would probably want to add support for it themselves. It's the non-paying "customers" who are the problem here, expecting PlatformIO to grow in ways that the core team sees as unsustainable.
- dmitrygr 3y agoThen they should take their beef to “person A”, not to me. My example properly captures my noninvolvement. Just like in TFA, RPi was not involved. Someone else made the patch, then PlatformIO demanded money from RPi
- PragmaticPulp 3y agoComment from Eben Upton of the Raspberry Pi foundation: > 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.
- deleted 3y ago[deleted]
- clnq 3y agoI don’t know about the quality of this PR, it looks good at first glance. But sometimes “free” things have significant costs. 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. 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.
- 3y ago
- Ocha 3y agoWhy is the title so deceptive? There is no conflict - PR is blocked because PlatformIO is trying to extort money from RPi and is not successful with it
- debrisapron 3y agoI was trying to be even-handed. I'm generally of the opinion that PlatformIO should merge the PR on the condition that it be maintained by the community - which seems reasonable considering PIO is supposed to be an open-source project - but it's also a complicated situation involving a bunch of negotiations I'm not party to, so I wanted to avoid passing judgement.
- scopih 3y agoOh, this gives me the severe ick. I use platformio for the quick toolchain set-up for small prototypes, but it's not the only solution to get vscode working with micros. Not against projects monetising, but this doesn't look like a nice way to go about it.
- xony 3y agonow i understand why no pico support in platformio..
- helsinkiandrew 3y agoA better link to PlatformIo response: https://github.com/platformio/platform-raspberrypi/pull/36#issuecomment-1501724359 https://github.com/platformio/platform-raspberrypi/pull/36#i... 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
- bsder 3y ago> Whilst PlatformIO come across as the villains in this story 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.
- PragmaticPulp 3y ago> My take is that the RPi foundation wants PlatformIO to do support work for RPi for free. 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.
- skybrian 3y agoA bit of background: 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 https://github.com/earlephilhower/arduino-pico [2] https://arduino-pico.readthedocs.io/en/latest/platformio.html https://arduino-pico.readthedocs.io/en/latest/platformio.htm...
- hexo 3y agoWhat is platformio good for except messing up documentation and cluttering knowledge? Never liked the project.
- II2II 3y agoThey provide a consistent and simple way to setup multiple toolchains, manage dependencies, and integrate various tools within a popular development environment. While I am not a fan of how everything works, it appears to be the best freely available option out there. For someone who pursues development as a hobby, that's also important.
- robbywashere_ 3y agoAny platformIO alternatives?
- matthews2 3y agoA Makefile :-)
- Timon3 3y agoMakefile has support for dependency management of Arduino libraries? Amazing, where can I find it?
- lionkor 3y agoArduino Libraries dont have CMake support??
- gholling 3y agoThe Official Raspberry Pi Pico Windows install will give you a working VSCode build system with the official SDK. It's not Arduino libraries, but is easy to get going and building code. https://github.com/raspberrypi/pico-setup-windows/releases https://github.com/raspberrypi/pico-setup-windows/releases
- Majromax 3y agoThe comments on the pull request seem to be missing some context, not yet captured by the other HN comments on this story. If PlatformIO is asking for payment, just what is that payment intended for? In particular, it appears that PlatformIO already notionally supports the Raspberry Pi PICO (https://registry.platformio.org/platforms/platformio/raspberrypi 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?
- easygenes 3y agoPlatformIO seems to be seeking a support and sponsorship agreement with Raspberry Pi. 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#issuecomment-1565526764 https://github.com/platformio/platform-raspberrypi/pull/36#i...
- debrisapron 3y agoA brief explainer I should really have submitted with the link: - 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