Open source means a license which grants others permission to modify and share the code in a non-discriminative way. This is not that.
> asking for free software code...
Free software also add patent grants and the right to run the software for any purpose. While anti-DRM has been called for in other articles, code inspection doesn't need to be done by volunteer researchers and can simply be done by government inspections. This leads me to...
> why not demand that Coca Cola also make their formula and their entire manufacturing process public
I am sure Coca Cola allow health inspections into their manufacturing process. They are also required by law to provide an ingredient list in order to be sold for human consumption, including a nutrient list which further details what Coca Cola is made from. If they had sneaked in some illegal substances, say rat poison, we would be here asking why current regulations were not enough.
> we need a better emission testing system
We can always claim that the testing systems need to be better, but it is not enough to just do black box testing when the product itself can identify and change behavior during testing. If society keeps the current system, we would need to at least add criminal liability for deceiving during testing.
Check your coke can. Look for the word "flavor". That's not an ingredient. That's their secret recipe stuff. They don't have to disclose it on the label. They can make a "generally recognized as safe" (GRAS) determination in-house and exempt themselves from disclosure of a trade secret. These are often submitted to the FDA for approval, but not always. If the substance can be determined as gras based on publicly-available information they need not submit to the FDA. It's all about allowing companies to keep their trade secrets ... which is very much similar to the situation with vehicle electronics.
The legal fallout if Coca Cola claimed rat poison as GRAS would be nothing less of major incident. The expert panel that they are required to hire would likely go to jail on fraud. The documents to the FDA would be proof of intentional deceit, basically guaranteeing that who ever submitted it will get the harshest punishment available to the court. All of it would be enough of a deterrent that companies only do this for the most critical company secrets which they are 100% sure is safe, and everything else can be inspected by the FDA. A pragmatical and reasonable method to make life critical products as safe as possible.
However the major part of Coca Cola (and its flavour) is in the recipe - the technical process that yields final product, not the chemical composition of the ingredients.
I don't have a reference handy, but I am going to present you with an analogy for french fries. I hope you can understand my point from that case (which is even more illustrative of the phenomena I am trying to highlight).
http://aht.seriouseats.com/archives/2010/05/the-burger-lab-h...
There are plenty of fields where the Car Companies can compete - and software quality should absolutely be one of them. Therefore killing DRM does everybody a favor.
As far as I know the discussion is against DMCA, which prevents even looking at the code on the car. DMCA makes no sense whatsoever.
https://www.eff.org/deeplinks/2015/09/researchers-could-have...
It makes the law is trying to avoid their being a distinction between code that lives on hardware you have in your possession and code that lives on a company server.
For instance you might be indignant that you can't look at the code on your proprietary device, but you aren't indignant that you can't look at the code that runs Google's search engine.
So without laws to "equal the playing field" in a sense - server side service companies get a distinct advantage as they're able to have trade secrets - while companies that distribute code are kinda screwed.
Even with the current legal environment companies STILL try to push processing into their own server controlled space (see Siri, Cortana, most cloud services)
The problem of everyone uploading code to the cloud to prevent this (which is not applicable to cars firmware anyway) is different, and a valid way to protect your IP. I don't particularly care this makes code move into the cloud. But the packets sent to your device, which may affect your device, your health, well-being directly, you should be able to read and modify -- same as the local code. By forcing black boxes upon us we don't have a minimal control, understanding, or prediction of what our own devices can do to ourselves. It's insane.
That Google gets too keep all their code private but a car company can't (due to the rather arbitrary fact that it's impractical for the car to ask a server how to change the engine parameters)
How about if I want to buy a device and agree to not see the code? (b/c for instance - I personally - have no interest in it) Should I not be allowed to enter such a contract with a company?
If yes, why is a company not allowed to sell devices exclusively with such licenses?
If not, why are you limiting the consumer's rights? (this rabbit hole simply leads to companies only leasing consumer's devices, b/c selling them suddenly involves giving away all your trade secrets)
I have, it creates an unequal playing field between you as a company and me as a user. It reduces my ability to adapt a product to my needs. It reduces my ability to learn from it. And yes, it also reduces my ability to reverse-engineer it, improve it and then become your competitor. It stifles progress.
To address it, I think that when you say "creates an unequal playing field between you as a company and me as a user" that's a bit of an apples to oranges comparison. When I say playing field - I'm comparing two potentially competing software companies (one just happens to have a mechanism to physically separate you from the code you in-effect use)
You have no ability to learn from Google even though you use their search engine - you can't reverse engineer it or improve it. Does this upset you? (again, you will probably ignore my question)
I do, in so far as it interacts with my machine. I can look at the APIs, at the traffic patterns, at whatever code is shipped to my browser. But yeah, the secret sauce stays on their servers.
But then again, comparing Google to VW is apples-to-oranges too. Google is a software company, VW is a car manufacturer that incidentally has to write code for their engines. They are not competing with each other, they are not playing on the same field. So VW having no way to use SAAS for ECUs (thank God) is as much unfair to them as their DMCA restrictions are unfair to me (the user).
So if you run a SAAS company you have the ability to create a giant monopoly make billions and buy up all the talent, and if you run a device/native-code-based company you should be relegated to fighting on the margins making returns in the window between your code-release and your competitors' reverse-engineering?
I'm not even sure what to say other than.. don't you think that's .. silly?
I think you can see the effect of this on VCs, where most funded startups are SAAS-ish, and you'll never get funding to make a product that's native.
This distorts the whole industry
A simple example is face identification. Facebook has some secrete sauce for doing an amazing job. You upload a photo and it almost always knows which one of your friends it is. I'd love to have a native app that does that for all the photos on my phone. Am I ever going to see it? No, b/c anyone who is half way decent at that stuff will go work for a SAAS company and make a lot of money by keeping his/her innovations as "secret sauce"
...And more importantly, the implications for the folks buying and installing these products are a hell of a lot closer to those pertaining to VW's ECUs.
If you're gonna argue for a level playing field, it probably helps to start with teams that are playing the same game, or at least one that's reasonably similar. Right now, you're arguing that Google's bobsled team would unfairly compete with VW's baseball players, ignoring that Google fields a cricket team as well...
One's ability to profit from reverse-engineering a competitor's hard/soft/firmware is not unlimited. IIRC, if the purpose of the product of the RE isn't to be compatible [0] with the RE'd 'ware, then you absolutely have to do a dirty room RE and documentation followed by a completely independent clean-room reimplementation. This raises the cost of the endeavour by at least 2x.
See, the original holder of the copyright on that 'ware still potentially has a real claim on the product of a solely dirty-room reverse engineering endeavour.
Additionally, AIUI, many software licensing agreements make the situation a little more difficult and uncertain for our would-be reverse engineers.
And, if the thing you're RE'ing makes use of patented material, I suspect that things get rather expensive rather fast.
[0] That is, to work alongside or enhance the 'ware.
In fact I can't think of something that runs native on a device and is better than all it's competitors that run "in the cloud"
B/c the biggest difference is that by having the secret sauce physically in the hands of competitors, you aren't able to create a vast difference in the quality of your product.
Following standards creates horrible barriers to entry and to innovation, but at the end of the day you aren't spilling the beans on how you do all your tricks. You can't make some fancy new valve control system no one will ever figure out.
Then you look at someone like Google, and it's 100% driven by secret recipes no one knows about
Maybe there should be indignation about trade secrets, but I feel like the physical distance to the code you are running is irrelevant.
When I search for a word or phrase on Google, I'm running code remotely on their server. Yet no one feels like I should have the right to see that code. Why?
Because I have not paid money to Google purchasing a tangible thing. If I buy any tangible thing, it should honor the doctrine of first sale, and I should be able to modify my tangible thing as I see fit. It is my property.
Google is akin to a remote service provider; I send in a thing, modifications to my thing are made, and then I get the thing back. I don't ask my warranty repair firm or any other entity that provides a remote service how they did it. I simply make a request at an agreed-upon price (or agreed upon terms: you'll provide ads in exchange for the service) and if the terms are not satisfied I will not hold up my end.
I understand where you are coming from but you need to have a minimum threshold for software that is going to be a matter of life and death.
SpaceX would like to have a word with you. IIRC, they've designed and built -from the ground up- their own rockets that get payloads to orbit at 1/3 the cost of anyone else.
The other players are still flying rockets either largely designed in or actually from the 1960's [0] because not many of the folks who need things in space understand how to build rockets. This means that -much like the telecommunications "market" in the US- incumbent players can put next-to-nothing into R&D and new tech and just sit around and watch the fat paychecks come in.
It's an industry that's in dire need of a shakeup.
[0] WWII was from 1939 to 1945. ICBMs [1] are substantially more sophisticated than any rocket from WWII.
[1] Which are effectively what was transporting the astronauts in the Apollo program.
Like the GP said, physical devices that have a use that is in some way responsible for a human's safety or some element of real risk (cars, medical equipment, fridges, ovens etc.) should have inspectable source code. It need not be open source, just able to be viewed.
That said, if companies are willing to cheat emission schemes they'll probably obfuscate their code to "protect IP" or something.
I'm not saying that it's impossible for cloud software to harm a human, but every example I can think of is fairly contrived and would probably result in somebody reading the code and going "Why does this x-ray query a server for this person's safe dose?"
The right of other less optimistic consumers and government agencies are more important than the desires of your device maker.
Additionally, if companies lease devices they are no less accountable for the code on them.
That's a great question - why not? For many consumers, Google essentially is the internet, and by meddling with search results (which they already do to try to personalise my results) they could make or break companies or politicians by presenting one-sided or even false material. That's a lot of power - why shouldn't we know how it works to make sure they're not abusing it?
The bigger question is: why do you think that there is some kind of pure, objective ranking of websites that Google is now tampering with? Do you think that someone whose IP is located in Utah should get the same result for "good hamburgers late night" as someone in New York? If someone from Vietnam searches for "Vietnam War"...should they be sent to the entry at vi.wikipedia.org because it's in Vietnamese and perhaps more relevant to the Vietnam user? Or to en.wikipedia.org's version, because besides having a shitton more inbound links, it's likely to have also many, many more eyes and editors on it? These are complicated things that we don't need a review of source code to debate. But your suspicions toward them seems to be based off of a worldview in which there is One True Web for everyone, which seems as problematic as the mindset that surely Google can do no evil.
Given that Google uses personal data to shape the web its users see...isn't it even more relevant to see the data they collect? AFAIK, Google still allows us to download virtually every bit of data we've explicitly generated on its services, including all the emails and search requests we've conducted.
There is One True Web, of course, which is the collection of all documents on the web at any given point in time. But the interface to that web is nearly always a search engine which are all obviously presenting a list of suggestions according to some criteria. Google used to use PageRank, which was a relatively "objective" criteria in that at least it applied equally to all pages. Google now uses tons of data to make decisions about what to show me when I search, but neither you nor I have any idea what they are. Maybe they do actually use some algorithm which applies equally to all pages. Maybe they use some deep neural net, and not even they know how it actually works. Maybe they have a list of heuristics that they're evilly using to manipulate all the world's information. We'll never know without seeing the source code.
Again, I'm not tabling it as a serious proposal, or claiming that Google are doing anything evil. But given that they have the potential to essentially manipulate the sum total of the world's knowledge as seen by 99.999% of the population it doesn't seem ridiculous to consider whether we might like more insight into what they're doing.
To be fair, a lot of people at Google probably don't know either. Peter Norvig had a great talk [1] in which he discussed searching Google's code base for "naive Bayes" and found some code in 2006 with a funny comment:
> “And it was fun looking at the comments, because you’d see things like ‘well, I’m throwing in this naive Bayes now, but I’m gonna come back and fix it it up and come up with something better later.’ And the comment would be from 2006. And I think what that says is, when you have enough data, sometimes, you don’t have to be too clever about coming up with the best algorithm.”
[1] https://youtu.be/ql623nyCdKE?t=5m25s
I don't want to sound like an anti-algorithm-think-of-the-humans advocate...I love algorithms...but I think your statement:
> Google used to use PageRank, which was a relatively "objective" criteria in that at least it applied equally to all pages.
...besides being too oversimplyfing for even a simplification -- I don't think the evolution of Google could remotely be reduced as: first there was purity of math, then came the money -- but I also think that you overlook the bigger issue...No one argues that algorithms are statements based in mathematical truths. It's the decision to use an algorithm -- including the weighting of its tradeoffs -- that is decidedly biased and opinionated.
How is "a page should be evaluated by the number of pages (plus the authority of those pages) link to it" not an opinionated statement of the way information should be organized, versus the pre-Google algorithms of "If a page has a lot of mentions of a word, it must be particularly relevant to that word"?
The fact that PageRank had to be changed and modified as soon as people figured out how to create networks of backlinks should in itself be evidence that an algorithm -- and the decision to use it -- is not just objective truth in the way that 1 + 1 = 2 is.
I don't find this one so complicated; they're better sent to en.wikipedia.org, because that page, like their query, is written in english.
Even if the Vietnamese page were better, there's no excuse for replying to an English query with a Vietnamese result.
The 'one true web' idea is a red herring. We absolutely need to know how google biases the results.
Yes, I absolutely do. What if they want to find out what "people in general, according to Google" think and write about that? That question isn't even possible anymore, if you will.
> If someone from Vietnam searches for "Vietnam War"...should they be sent to the entry at vi.wikipedia.org because it's in Vietnamese and perhaps more relevant to the Vietnam user?
No, because "Vietnam War" is an English phrase. I doubt it's spelled that way in Vietnamese.
> of a worldview in which there is One True Web for everyone, which seems as problematic
How so? When I watch a movie, I see what everybody sees. If it's full of advertisement or laced with propaganda, I know it's that way for everybody. I think that has value in itself. Not every query is about getting what I want, sometimes I want to see "how the world is", and for that purpose Google, Facebook and others aren't helping with their being overly helpful. Others may feel different, but FWIW, I never heard anyone say that typing "ordering pizza in X" is just too much work compared to just typing "ordering pizza". Thinking such things are neat were, as far as I can tell, unilateral decisions made by these corporations. Nobody asked for it, nobody would miss it, and I think it's harmful just for destroying the idea of a "consensus reality" on the web even being possible.
Your opinion is that what is usable to people around the world is knowing which page ranks highest according to a metric such as PageRank when it comes to "late night hamburger place". Because numerical metrics is "how the world is". There's no way you could be a casual habitant of Earth and think that that's how many other people evaluate things in this world.
But here's an example: What if a user types, "late night hamburger place near me"? How should Google interpret that? At what point does "pure" PageRank shut off and "Google as the new Yellow Pages" kick in? That in itself is an opinion not just about how information should be organized and what is useful, but about linguistics: whether or not that query is interpreted as a question or a user typing in the words he remembers from a song he likes and hoping that this blind query finds it.
Yes, and? The question was what I find better. I answered that. That others find something else better is not relevant to what I find better. I'm more than just a casual habitant of Earth and I notice people generally gobble up anything just because it's there and someone is pushing it. The success of corp X or Y means as much as the success of Hitler to me, I still have to make up my OWN mind, people are mostly useless even as individuals and doubly so in aggregate. What they like or don't like doesn't matter unless they can present a good argument for it. Yes, I'm arrogant. And I do not expect Google to agree, they "have a business to run". But that doesn't change my opinion.
Also, I said "how the world is according to Google".
> But here's an example: What if a user types, "late night hamburger place near me"? How should Google interpret that?
Where to buy product X or eat Y is below even trivial, I find it nauseating but not surprising that such stuff is constantly brought up. And yet that's the "killer application" I have to find a replacement for, with "why would anyone even think about that much less spend one second programming anything related to it" not being a valid answer, and my concerns about people seeing what others see not even worth being mentioned, much less addressed.
Don't interpret it at all, and people will have to be more specific, try out various phrases, which they will learn to do quickly. Adding "in [name of city]" to a query shouldn't be that hard.
Also, I'm tired of "information" being held hostage by what is merely about products and those who sell them. Yes, technically that's information too, but it's a very high-minded word for the lowliest of human aspirations in my books. The ones that matter when I am (indirectly) asked what I like or don't like.
That's a double-edged sword here. The current problem with search, and one of the reasons the exact algorithms stay undisclosed, is not Google. It's your average Joe the small business owner, who sees no problem with poisoning the Internet with spam and fake websites, just to gain a competitive edge. There's even a whole industry (SEO/SEM) serving such Joes, that specializes in extreme "meddling with search results". As long as Google maintains some control over it, it can tweak and twist their algorithms to counteract the manipulation, or even explicitly penalize biggest offenders. Take that control away and the Internet will go to shit.
Search is a common resource, and it needs to be managed. I'm far more willing to trust Google than a mob of hundreds of millions "entrepreneurs" trying to one-up one another at the cost of everyone else.
Would Bing suddenly become a lot better? Certainly. Would people start using Bing over Google if it just became as good as Google search? Certainly not. The only candidates that might take market share are DuckDuckGo and StartPage, who preach privacy and thus a lot of users (including myself) prefer them despite their poorer search results. If they could get Googles algorithms, they would produce better results and probably steal market share.
How much market share? 1%? Do privacy savvy searchers even constitute 1% of search traffic now?
Yes, it is absolutely a bad business decision for them to publish their source. They are much more likely to lose money than to see third party contributions to their code make their search so much better they offset the cost of everyone having access to the same quality search. But I still postulate it would not be much revenue and market share, and that there are tremendous applications for extremely sophisticated search algorithms like Googles that could produce tremendous economic prosperity for other disciplines, and I imagine their work might be applied in completely unrelated industries for other search domain problems. Their algorithm is ultra-specific to web page indexing, but I'm sure in that Goliath beast of code there is some novel ingenuity that we are missing due to its closed nature.
as digital copies in most cases have no or negligible variable costs (support may be regarded as variable) the earnings for certain products can be way out of any sensible relation- but who should say: enough is enough? als long as there is no sensible answer to this question there can only be one: let the market decide...
Are you talking about a market with or without a regulated strong copyright law?
I realize it would be tricky to implement, but considering the societal benefit of more even wealth distribution the idea itself is worth exploring.
That's their problem.
The problem is that the amount of devices out there with non-proprietary components is close to nil. So there's a clear lack of choice, it's almost impossible to get a computer without non-free blob inside as well. The balance is clearly skewed towards proprietary-everything.
But I also imagine it would be impossible to build due to how few of us even care.
You would need chips, which are pretty much not being manufactured anymore. Good luck buying fab time as TSMC, and having enough volume to justify it. You also need a design, thankfully the SPARC chips have open designs, but they are still really old for old fab tech. Good luck getting the engineers to update it.
You need mainboards, assembled somewhere (expensive) and fabbed (again, expensive). You could invent your own or reuse a published ancient print if any exist.
You would need open designed DRAM, and good luck trying to support modern iterations like ddr3 or 4 on old SPARC boards. I'm not aware of any DRAM being sold with open blueprints, but also have not looked much into it.
You would need open storage devices. No SSD or HDD qualifies today, since they all have proprietary microcode controllers. No open designs or firmware to be found there.
You would need a graphics accelerator. While there are some purely free software GPU drivers (Broadcom for the Raspi) none of the designs are open. Again, good luck.
All combined the cost of just getting these five core components in a firmware free / open design state is insane. It would be on the order of tens or hundreds or probably a billion or more USD just to get a few thousand units. And at those kinds of costs (lets say we are optimistic and sell 10,000 fully open computers) and say it cost only 100M to build them, they would be $10,000 each for what is probably as powerful as something proprietary you could pick up today for $50-100.
One day I'm absolutely certain there will be a sustainable market for such a computer, because with proprietary hardware and software you are guaranteed to eventually be screwed over. Its only a matter of how deep in the rabbit hole you want to get before you wake up and realize how bad an idea it is. Eventually, I am certain all hardware and software design will be open, its just a matter of how long we want to slow progress and risk our individual prosperity on proprietary tools until enough wake up to the problem.
This doesn't work when you are a small minority of the market. It just means you can't have anything. The economies of scale required to produce processors, etc do not enable niche markets to thrive.
That's a fundamental misunderstanding of the requirement for 3rd party review, and it seems to be a common oversimplification here on HN. There is some precedent for auditing important code without any intention of open-sourcing it:
http://uk.businessinsider.com/microsoft-opens-transparency-c...
http://uk.businessinsider.com/apple-china-security-audits-ns...
Code is not the problem - in this case code is just one possible loophole out of many possible loopholes.
The fix here is to make sure that corporate officers who break the law and cause significant harm are jailed and/or stripped of any profits they accumulate as a result of their actions.
This will not happen because we've set up a culture where the higher up the pyramid you are, the more you gain personally and the less you need to worry about being punished for being a bad actor. Convictions do happen occasionally, but they're exceptional, not inevitable.
You're not going to fix that political/economic problem - which is a direct outcome of free market ideology - with code review.
You can make it source available only. Although China would probably just use it as it was free, I give you that, but they use it anyway.
It would be no worse than letting contractors look at your code.
You could ask for the code to be open in applications where it can directly kill the public, eg. car and aircraft controls, and not elsewhere.
Which minivan can I buy that runs on free software?
Demanding that all code be open-source unfairly targets the software industry (companies that sell software products for money). Why not ask Google to make their search engine code public ? If all software code must be publicly available, why not demand that Coca Cola also make their formula and their entire manufacturing process public ? Why not insist that no product must have any proprietary/secret information about how the product was created ?
Ultimately, the proof is in the pudding. I think we need a better emission testing system for testing emissions, not a government review of software code.
IMO asking for free software code is an ideological demand that is better promoted through the free market. Free software ideologues should refuse to buy products that have proprietary components, but all of us should only ask that the government fix its emission testing process.