I find this completely fair, but then maybe don't call yourself a "charity" and an "open platform" and just be upfront that you need to lock down your hardware to recoup the investment.
The Raspberry Pi Foundation is a charitable organization registered with the Charity Commission for England and Wales. [0]
We can quibble over whether we think they're doing work in the best way, but by authoritative definitions they are a charity.
[0] https://en.m.wikipedia.org/wiki/Raspberry_Pi_Foundation#Foun...
Hospital systems that make billions of dollars a year of profit are charities! Companies that own billions of dollars of real estate holdings for no purpose except speculation are charities!
Non-profit simply means that profits aren't paid out to shareholders. It doesn't mean you can't make enormous profits and accrue vast amounts of wealth.
It's really not in question.
They've even relatively recently split the business in two (Foundation and Trading Company) to further protect the charitable aims of the Foundation and avoid the ugly Ikea situation.
There is also (in the UK and in the USA as I understand it) a distinction between not-for-profit and charitable status.
In the USA AFAIK most self-declared non-profit organisations follow or are advised to model themselves on the Georgia Nonprofit Corporation code. But not all non-profits are charities (all charities are non-profits, but as you say, it does not mean they don't _make_ profits from time to time; they just don't return them to shareholders).
In the UK we have slightly different non-profit codes like the CIC (Community Interest Company). They are very distinct from charities.
That's confusing as hell. Can anyone please explain?
Also, while that person's comment is correct, it's worth noting that not all private schools are referred to as public schools. That name is only for the oldest, mostly-boarding schools that were big players when the system was (finally) formalised in the 19th century. The vast majority of private schools would just be called private schools. And then state schools are the genuinely-free ones.
[0] ETA: Mostly around the Tudor period I believe; i.e. by Shakespeare's time most if not all of them were well established.
Basically there is a time when education was almost exclusively monastic; those who were not taught privately were taught by religious institutions.
The public schools were free of that influence to a greater extent.
There is one more tier of school you don't mention which sits somewhere below "public": the "commercial school". There were some of these owned by the livery companies, and were a tier of schools that were created along the lines of the public schools but before the school system was fully established. Most of them were not fee-paying but were funded by donations or livery company charitable funds. They taught largely vocational skills (but professional ones rather than technical ones); parents sent their kids to commercial schools to bring back the knowledge to professionalise the family business or to set them up in a trade.
(I went to a school that was originally founded this way, but was a part-state-owned grammar school by the time I got there a century later)
Though it adds another small question: aren’t/weren’t most public schools severely Anglican? I know my school was quite radical at the time for admitting Jewish boys, so that always painted a picture of a not-exactly-super-secular institution, but maybe I’ve got the wrong impression in some way...
Also, those commercial schools sound a bit - subtracting for a moment the fee-paying aspect - like the German technical education system which I’ve always liked the sound of. I wish we had something more like that today, though obviously now it wouldn’t - or shouldn’t - be fee-paying.
Yes -- implicitly.
(sidebar: I am not sure that, when public schools really first sprang up, it was even possible to educate people of Jewish descent; the situation for Jews in england in particular was deeply complicated by their unique relationship to the state as established by the Magna Carta. Either way, they were not landowners by law and therefore probably not that interesting to the church.)
But at any rate as Wikipedia says, the first public schools appear to have been generalised and detached versions of grammar schools, which were the schools run for wealthy families that were attached to churches and monasteries.
Those schools started off teaching young people the skills needed to function in church life, but eventually they seem to have become so generalised for various other trades that they separated themselves in an administrative sense.
They'd have had lots of clergy doing the teaching nonetheless, I imagine, simply because really only clergy had access to education at that point.
I am not sure how "technical" the school I went to ever was in its earliest form (we did have technical schools in the UK for a while as a precursor to the comprehensive system).
I get the impression it was commercial in the sense that it taught reading and writing necessary for conducting a business, maths necessary for bookkeeping and engineering, and some science.
(The livery company that founded it still owns half of it -- the outside half, literally)
It was a school that was open, in principle, to anyone. Think ‘free as in speech’ vs ‘free as in beer’, but with the added sense - like ‘public transport’ - of being democratic and round-about-accessible to all.
As for the US: when it began, fee-paying schools were the dominant mode, and there wasn’t really an aristocracy with private tutors to distinguish it from. So it never needed the ‘public’ - and when government schooling became a thing, it pretty naturally took on the ‘private’ qualifier instead.
https://www.merriam-webster.com/dictionary/public%20school
“An endowed secondary boarding school in Great Britain offering a classical curriculum and preparation for the universities or public service.”
The purpose of public schools isn’t academic excellence (though of-course they support it for their most able pupils) but networking and the ‘habits of person’ necessary to compete socially in class-sensitive institutions.
The state did not run schools when these were established. It's much older than that as a term.
I went to a private school aged nine to 13 and a public school 13 to 18. Then I went to a polytechnic, which changed its name after a year and then two (three?) years later it was a university! Whilst in sixth form (17/18)
So the message here is that the public/private distinction for school nomenclature here in England and perhaps some or most if not all the UK doesn't mean what it does elsewhere, unless it does except where it doesn't ... except on a weekend when all bets are off. Clear? Jolly good. As you were, carry on!
And, more importantly, thanks for adding detail on the state school side of things, which I suppose I left out of my answer because it’s not something I know about. It was definitely sorely needed.
Another example - public houses (aka pubs) are generally for-profit private (or large chains may be public in the sense of being listed) companies that take your money in exchange for real ale and good food; not social housing!
The more confusing thing is that we now (see history in sibling comments) have 'private schools' too. What you call 'public' are 'state' schools here, or something more specific where it's implied ('grammar', 'comprehensive', 'academy').
I know you're being dramatic, but at least charities in the UK do have vastly different treatment by HMRC, and much more granular financial reporting requirements.
Raspberry Pi foundation annual accounts are here: https://s3.eu-west-2.amazonaws.com/document-api-images-live....
For example we can see one member of staff was taking home more than £290k in 2020
It seems this is a rather profitable business hiding beneath the label of "education exemption"
For example, a university student union can sell you beer in the SU bar and run events to raise cash in order to further its aims in education and student experience etc.
https://www.gov.uk/guidance/public-benefit-rules-for-chariti...
Much like how CEOs get wide discretion as to what "advancing shareholder interests" means - maybe it's in the long-term interest of public health to build a huge amount of real-estate holdings that you could (hypothetically) use to generate revenue and advance public health (uh huh) some time in the future. That's perfectly fine for a non-profit to do - they really are just a corporation that doesn't pay out profits to shareholders, they keep it all internally.
Examples: the Susan Komen foundation. College endowments. Hospitals. Etc.
In my time at a non-profit, we had what we called our "contribution margin" which was equivalent to profit in a for-profit company, and that was tens of millions of dollars a year. Like I said, we had big real-estate holdings etc which is where all the profit went year-over-year. And we actually did do important public health work, but we were also essentially a contractor for various state and federal agencies and definitely did turn a profit.
The only requirement in the US is that at least 5% of the activity must be charitable in nature - that's not a typo. So spend 5% on some studies and reports and the rest becomes your personal slush fund. It's a fantastic little arrangement.
https://www.ncfp.org/wp-content/uploads/2018/09/The-Five-Per...
They are governed by a board of volunteer, unpaid trustees who can be personally liable for its misconduct.
Here's the Raspberry Pi Foundation's entry on the register:
https://register-of-charities.charitycommission.gov.uk/chari...
No.
> The most popular charities in the UK spend anything between 26.2% and 87.3% of their yearly income on charitable causes, according to the best available data.
https://www.theweek.co.uk/fact-check/98581/fact-check-how-do...
Also that doesn't include accumulation of wealth in general - it's perfectly fine to sock away a billion dollars (or pounds) because in principle that money is going to go to charitable activities in the future. Sometime. But there's no legal requirement that "sometime" ever come, so it's just a slush fund.
Again, please don't think of charities as being charities in the traditional sense of feeding nuns and orphans. It may be better to think of them as "non-shareholder corporations". They are corporations, which make money, and accumulate wealth, which is controlled by the board. The difference is that the purpose of the accumulation of wealth isn't for the benefit of shareholders, but in principle it's for the public. In practice it is a slush fund for the board.
You've got tons of UK universities that build up huge endowments, right? Do you think they're the only ones who do that? And not everybody is using that money for scholarships, as it were...
I'm a trustee of a small UK charity, I do their books, I'm in touch with lots of other trustees and in no way can these companies be run as a "slush fund for the board". The regulatory regime demands too much transparency for that to happen at any scale.
> The most popular charities in the UK spend anything between 26.2% and 87.3% of their yearly income on charitable causes, according to the best available data. ... > Also that doesn't include accumulation of wealth in general - it's perfectly fine to sock away a billion dollars (or pounds) because in principle that money is going to go to charitable activities in the future. Sometime. But there's no legal requirement that "sometime" ever come, so it's just a slush fund.
Yes, UK charities are allowed to spend on fundraising, investment and may build up reserves. Some of those reserves might be restricted, for specific purposes even within the definition of their charitable purposes, and that needs particular accounting. But that money is absolutely locked up for their registered purposes, it can't go to personal benefits, and their boards of unpaid trustees are on the hook for mismanagement.
If they spent every pound they received on their purposes, lots of charities would cease to exist (or exist 100% on grants from other organisations). That would certainly suit a lot of simple-minded people's perspective on "what a charity should be" but it would shrink the sector to almost nothing.
(I once did data entry for Oxfam, entering direct debit donations posted to the organisation - a few angry people liked to use those appeal envelopes to protest about the fact that Oxfam advertised at all).
Part of the problem with the cynical view of charities that you're responding to is that if it goes unchallenged, it actually becomes practically impossible to help charities improve their charitable efficiency.
If people think all charities are BS, they stop donating, and it becomes meaningless to say charity X is doing a better job on a structural level than charity Y, which is for sure important information for donors.
I've worked on some stuff for a social organisation that is now a registered charity, and it is amazing how deep the tendrils of the regulations actually go -- the extent to which things have to be structured to avoid conveying benefits that aren't the objectives of the charity.
(I also applaud you for doing what you do)
The hardware is developed sold by the non-charitable part, and recently announced that they prioritise orders from industrial customers over private ones. You cannot expect them to act like a charity - they aren't one.
A charity that gives away some things but not other things is still a charity. A platform that is partially closed is not fully open.
Also Raspberry Pi SBCs and accessories are made by Raspberry Pi Trading Ltd, not by the foundation. If you look up FCC testing reports, it's all submitted by Rpi Trading. That's not charity even legally.
https://blog.adafruit.com/2021/09/21/raspberry-pi-trading-lt...
Charity, right? You wouldn't know from their own website, because they seem to not publicize their business structure very much. My guess that it's similar to mozilla foundation/co split. Foundation does nothing about the products, it's just a public face. And corportaion does all the product work, and is very for profit.
I find this to be completely fair game.
You can think of the VideoCore ISP firmware task as a proprietary application and the Pi Camera as a hardware security dongle for that proprietary application.
You can choose not to run that application and access raw data from CSI if you'd like, but if you want to run the special ISP firmware application, you need the hardware dongle.
I think I feel the same way about the DRMed blob as I do about the Pi in general: I understand why the Pi folks did things the way they did, I don't think it's unethical by any stretch, but the situation is disappointing and I would prefer the alternative.
I just can't get worked up about this, I think this is completely fair.
Nah. If you want the cred from being open source, be open source.
A complete open source re-implementation would either not support ISP, or would include a non-proprietary version of the same or similar code, at which point they shouldn't care.
Certainly only the public keys are part of the blob or not? Only the accessories would need the private key embedded to answer the challenge.
https://gist.github.com/marcan/6dde73a9a0c917cd4fc9784a0a73e...
for those who arent amicable with such a 'charitable' definition of open, pine64 has existed for quite some time. the rock platform easily handles my docker workloads.
What? The gru-kevin chromebook (RK3399) can be booted without using a single binary blob, absolutely everything (even the arm trusted firmware) built from source. I use mine that way.
I've never seen a laptop with a "broadcom SoC" that could make that claim.
I think you've been deluded by a certain fruit pastry vendor's marketing budget.
This is why I specifically called out the issue of MMIO mappings. Seriously, try and scrounge up the addresses for the DMA engines on the RK3399. Or, hell, literally any information whatsoever about the UARTs. The primary place to find any of this is not in public vendor documentation but rather in the device trees Rockchip has submitted to Linux and the various drives different vendors have submitted. Device trees and digging through a pile of barely document C spaghetti is not a suitable replacement for actual documentation.
I am coming at this primarily from the perspective of an OS developer. I am not particularly concerned with blobs and non-free code. I am, however, incredibly frustrated by the fact that I cannot do even very basic things with my hardware without spending hours going spelunking in the Linux kernel because vendors refuse to actually provide public documentation for the products they ship.
There is a subtly annoying trend in the FOSS community to assume that Linux and Linux derivatives are the only operating systems worth caring about. An undocumented chip which ""runs Linux without blobs"", while perfectly great for Linux users, is not some wonderful thing for everyone who doesn't care about Linux. Frankly, I'd much prefer a blob-ful SoC if it meant I could actually do hardware bring up because a sprinkling of non-free components is much better than not supporting an entire platform.
>If it weren't for the GPL you would just get a binary blob for a proprietary Linux fork and then you would have to reverse engineer the undocumented features from raw machine code.
Just because they could be doing significantly worse does not mean that they're actually good. Yes, they could do this. It would not be an open hardware platform. They could also upstream software support in such a way that it is a pain in the ass to figure out how the hardware works, which I also contend is not open hardware platform.
And, anyways, it's a rather bold assumption of yours to assume that the drivers actually work as intended lol. I'm sure many in the Linux kernel community would deeply appreciate being able to just write the damn drivers themselves instead of being left with broken and incomplete drivers with little recourse outside of reverse engineering the hardware or begging random vendors to fix it. This is not indicative of open hardware, this is literally just the same problem except now you've blessed the platform as open.
I see how it's frustrating to you that people get GPL source and declare "victory" and give up, leaving BSD in the dust. I'm definitely someone who does this, and you made me think about how much nicer it would be if people continued to advocate for documentation instead.
What I want from my "open" hardware is the ability to access the full source code for what is being executed on my device, to ensure there are not unexpected background tasks and to be able to debug issues end to end without having to do as much reverse engineering. So for me, the giant supervisor blob on the Pi is obnoxious - it does random things I don't know about, and I can't look into it to see what's going on.
What you want from "open" hardware is the ability to write driver code under a very specific software license (BSD).
So for my needs, I'll take GPL drivers against hardware all day versus documentation against a black-box HAL. For your needs, maybe the black-box HAL is OK since it lets you run BSD.
Also, "the drivers work as intended" could just as easily be moved to "the blackbox HAL works as intended" and you have the same problem in your "Broadcom is fine because the HAL interface is documented" scenario. If you make a HAL call and it doesn't do what you expect, you're back to RE again anyway.
Anyway, I think we can all agree that full documentation is the ideal state, but sans that ideal state, I'll take GPL source over documentation and a HAL blob, and you'll take the HAL blob and documentation over GPL source. I think everyone wins if we all keep pushing for the ideal state of unencumbered documentation where we can, instead of sitting back when we have one thing or the other!
Obviously documentation would be ideal, but I still think an SoC with freely licensed source code available that talks to peripheral devices directly qualifies as much more "open" than one where even "open source" drivers are actually just talking to mailboxes to a HAL running in an RTOS.
I think the challenge with the Broadcom stuff is fundamentally architectural - even with more reverse engineering eyes on the scene, you're working with an SoC that's a big proprietary blob running on an obscure architecture (VPU) which is hosting an ARM Linux box, vs. the Rockchip stuff which is a much more traditional model with memory and register mapped peripherals.
>an SoC with freely licensed source code
Free as in "GPL". The GPL is incompatible with a slew of other licenses and so being dependent on reading the Linux source for how to write drivers for your own OS is an incredibly perilous legal position should you not license your code under the GPL. Real documentation (for talking to blobs or real hardware) almost allows you to license your code however you please and so it is objectively more free.
This, mind you, is not a hypothetical: I am quite literally in this position and have abandoned Rockchip SoCs (despite being all around better tech) because supporting them would possibly violate the project license and the rights of the other contributors. I can, however, support Broadcom SoCs because their documentation is freely available without licensing stipulations despite their non-free blobs. The Rockchip SoCs are free and open only to the extent you either like Linux or can adhere to the GPL, which is frankly a bizarre position to be in when trying to use an SoC.
Is the video manipulated? Calculate the hash/key, and use a public key lookup for RPi to verify.
To avoid hacking of the key, embed every camera with a unique private key.
Now if the image is compressed, this is obviously moot. But for important documentation and the like, it's feasible to store the signed raw signal to confirm that the image was taken by that specific camera. Of course, this depends on the security of the keystore, the trustworthiness of the manufacturer, etc.
This would be horrible for privacy, although somewhat mitigated if the camera program/app discarded the signature by default.
"CNBC reported that Trump was shown the photo during the briefing. A flash visible in the center of the image suggests Trump or someone else took a photo of the original image — which Hanham says might have been the intelligence briefing slide."
https://www.npr.org/2019/09/05/758038714/can-president-trump...
In any case, the point is that with proper staging, you could absolutely take a picture-of-a-picture in a way that would result in the image being marked as genuine and untampered, even accounting for the signing info including a GPS-based time- and position-stamp and including camera details like focal length.
Because without such an authority, what's to stop the deepfake source from generating its own unique key? And we're back to square one.
I take a digitally signed photo and tell you "I took the photo with this tamper proof Canon camera, and I can prove it by taking more photos of any subject you ask for and signing them with the same key".
If you worry that I made an authentic-looking counterfeit Canon camera (but you're satisfied I couldn't have extracted the private key from a real one), Canon can confirm that they sold a camera with that key.
Surely there will be enough cheap devices out there that not everyone can be expected to remember the names of venerable manufacturers? I personally have no idea who makes the camera in my phone.
Anyway, the point is moot. The analog hole is still there, you'll just feed the pixels straight from the deep fake generator into the Really Real Tamper Proof Canon's CCD.
According to the Pi Foundation, this is because simple peripherals are too easy to clone and they need to recoup their investment in accessory design.
I was reminded of this while I was researching Twitter speculation yesterday that something similar is done for the DSI interface for displays. I wasn't able to substantiate this - the FKMS (FakeKMS/FirmwareKMS) and proprietary Raspberry Pi video drivers, where link negotiation and backlight control is done in the blob, do only support specific displays. However, it's unclear to me if this is due to driver support or an intentional lock-in. The open-source KMS driver (not yet usable on Raspberry Pi 4) where link negotiation and backlight control is done in the kernel, of course supports anything with a driver.