this post was submitted on 13 Jun 2024
63 points (98.5% liked)

Open Source

31760 readers
195 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
top 14 comments
sorted by: hot top controversial new old
[–] aluminium@lemmy.world 29 points 6 months ago* (last edited 6 months ago) (1 children)

A CPU instruction set that is governed by the RISC V International organization, a nonprofit organization which also holds all the RISC V related trademarks.

It has nothing to do with open source really, it is a open standard that anyone can create compatible products for and those products can also be sold commercially.

Really the difference is that the organization verifying your that your CPU correctly follows the instruction set so you can sell it as such, has no profit motive, unlike ARM or Intel/AMD who either outright block any meaningful competition in the case of x86 or want a nice share of the money your gonna make in the case of ARM. Not to mention that ARM and Intel/AMD sell their own CPUs, so there is a big conflict of intressts going on.

[–] davel@lemmy.ml 15 points 6 months ago (2 children)

It has nothing to do with open source really

Only if you think that open hardware and open software are totally unrelated things, but most open hardware people and open software people think that they are related things.

[–] aluminium@lemmy.world 16 points 6 months ago* (last edited 6 months ago)

No, open source means that its public HOW something is done, down to every single line of code (along a lot of other things when it comes to licensing, redistribution, … but thats not the main point)

With a open standard its public WHAT something is doing, but HOW its achieved can be public or not.

To give you a example, HTML is a open standard for displaying Webpages. Somewhere its defined that when a element is found, the browser has to render a button which looks a certain way behaves a certain way when interacting with the mouse, keyboard, javascript, css … . This is WHAT your browser needs to do.

But HOW you do it is up to each browser. Do you use the CPU or GPU to render it? Do you first draw the border, then the text or the other way around? It doesn’t matter to the standard as long as the end result complies with the spec.

With open source browsers like chromium and firefox it is public HOW they are implementing this feature, down every line of code.

With a proprietary browser like Internet Explorer which follows (or rather followed) the same open standard nobody knows HOW they are implementing it. We only know that the end result is adhering to the HTML Standard.

The hardware equivalent it would be someone releasing the exact schematics of for example a RISC V CPU where somebody could see HOW they implement the specifications of the Architecture and where someone could without much hassle go to a Manufacturer and get the chip into production or make modifications.

[–] poVoq@slrpnk.net 9 points 6 months ago (1 children)

Yes, but open-specifications doesn't mean open-hardware.

[–] davel@lemmy.ml 7 points 6 months ago (1 children)

Open specifications may not be sufficient for open hardware, but they are largely necessary. https://simple.wikipedia.org/wiki/Necessary_and_sufficient_conditions

OpenHW Group: CORE-V Family of Open-Source RISC-V Cores

[–] poVoq@slrpnk.net 4 points 6 months ago* (last edited 6 months ago) (1 children)

The point is rather that RISC-V is only open-specifications and most available chip designs are not open-source or only partially so in the open-hardware sense.

No one would claim that the Ethernet specifications are open-hardware, yet you see the same (false) claim for RISC-V all the time.

[–] davel@lemmy.ml 5 points 6 months ago

That’s fine, but I’m not making that claim. RISC-V is free of patent & licensing encumbrances as well as copyright ones, which allows for the possibility of open hardware developing on it. Open source software is likewise about patents and other encumbrances, not only copyright.

[–] kevincox@lemmy.ml 25 points 6 months ago* (last edited 6 months ago)

For software to run on a computer it needs to speak the computer's "language". This is typically called "machine language" but differs across different hardware. For example most modern Intel and AMD processors speak x86_64. This language has ways to express different operations such as "add these two numbers" or "put this CPU core into a low power mode". This is the fundamental way that software works, but running in this language.

There are languages that are completely different, such as ARM which is very common on mobile devices and is the language used by Apple's new M chips. These have basically nothing in common with x86_64.

These languages also evolve over time. For example x86_64 is a significant extension to the older x86 language. For the most part this is fine, it is like the CPU now knows more words, if you use those new words the new CPU will understand them, but older CPUs won't.

RISC-V is a new machine language. What makes it interesting is that it is a free and open specification. This means that anyone can create a new RISC-V CPU, unlike x86_64 where you need to buy a license from Intel or ARM where you need to buy a license from the ARM corporation. Most people think that this openness has major benefits, for example now anyone can create a new processor which may be better, rather than having innovation being stifled by licensing costs (if you can even get a license) or needing to create their own machine language and require huge amounts of effort to migrate software to it.

Note: It is important not to confuse "machine language" with "programming language". When people write software they very rarely write code in machine language directly. Usually they use a programming language which is then converted into the machine language of the CPU it will run on.

[–] masterspace@lemmy.ca 13 points 6 months ago

For software to run on a computer, it needs to tell the computer what to do, "display this picture of a flower", "move my character to the left", "save this poem to a file".

And for a bunch of different software to all run on the same machine, they all need to use the same basic set of instructions, this is called the machine's Instruction Set.

Because the instruction set has to work for any software, these instructions don't look that readable to us, instead of "show this flower" they might be "move this bit of memory into the processor", but software builds up millions of those instructions to eventually display a flower.

Intel processors used a set of instructions that were called x86, and then when AMD made a rival processor, they made theirs use the same instruction set so that their processors would be compatible with all the software written for Intel processors (and when they needed to move from 32bit instructions to 64bit instructions, they made a new set called x64).

Meanwhile Apple computers for a long time used processors built by IBM that used IBMs PowerPC instruction set.

Now many companies are using the ARM instruction set, but ARM is still a private company you have to pay licensing fees to, so RISC-V is rising as a new, truly open source and free to use instruction set.

[–] Vilian@lemmy.ca 5 points 6 months ago

Arm but opensource, instead of needing to pay Arm for the cou archtecture, risc-v is open source

[–] jet@hackertalks.com 5 points 6 months ago

https://en.m.wikipedia.org/wiki/RISC-V

It's an instruction set architecture, the language used to talk to the computer, that's open source and can be used by anybody without patents or licenses.

[–] kernelle@lemmy.world 4 points 6 months ago

When you put all the five year olds on earth in one room, every one of you would be able to compare two blocks, a rod and a ball. Depending on how you were thought you either pass the rod along or the ball. Then some very smart people came up with special ways to do very hard maths using those blocks.

Now, in the olden days they kept the way they thought those kids a secret. But we knew what the results were, so we could all do much harder math then we could do in our heads. So while the other adults knew how to pack you all closer together and needed new ways to do even harder math, there was a group of good people who didn't really like all the secrecy and thought that they were doing it way to complicated but couldn't do anything about it.

Like it always is, years went by and the world changed, they kept making up new rules on how the blocks should be passed around so it became slower. Those good people then decided we should be simplifying, to make it faster yet again! "And no more secrecy!" - They said. "So everyone can build their own mini five year old sweat shops and it would cost significantly less then it does now!"

[–] wiccan2@lemmy.world 3 points 6 months ago

So the main part of a computer that controls everything has a specific set of things it can do. Imagine that each of these things can be triggered by a button on a control panel.

Every company making this part of the computer has their own set of things and layout for the buttons to trigger them and you have to pay them money to learn what the things are and how to press the buttons.

RISC-V offers a set of things and a button layout that the community can freely see and use.

In this example a computer program is just the list of instructions saying which buttons to press in what order.

[–] Kidplayer_666@lemm.ee 3 points 6 months ago

An open source architecture that implements a reduced instruction Set, in order to simplify design and cut costs. Still in its infancy