Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README.md: advertise ariel os #21052

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

kfessel
Copy link
Contributor

@kfessel kfessel commented Nov 29, 2024

Contribution description

advertise Ariel OS

Testing procedure

Issues/PRs references

@github-actions github-actions bot added the Area: doc Area: Documentation label Nov 29, 2024
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@miri64 miri64 added CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Nov 29, 2024
Copy link
Contributor

@kaspar030 kaspar030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My ACK you got.

@kaspar030 kaspar030 added the Process: needs backport Integration Process: The PR is required to be backported to a release or feature branch label Nov 29, 2024
@riot-ci
Copy link

riot-ci commented Nov 29, 2024

Murdock results

✔️ PASSED

33207e7 fff

Success Failures Total Runtime
1 0 1 01m:28s

Artifacts

@aabadie aabadie changed the title README.md: ad ariel os README.md: add ariel os Nov 29, 2024
@aabadie
Copy link
Contributor

aabadie commented Nov 29, 2024

There is a typo in the commit message (ad => add). I fixed the PR title already. 👀

@kfessel
Copy link
Contributor Author

kfessel commented Nov 29, 2024

ad(vertise)

@aabadie aabadie changed the title README.md: add ariel os README.md: advertise ariel os Nov 29, 2024
@OlegHahm
Copy link
Member

Compared to the rest of the README.md I'm missing a line break after 80 characters.

@OlegHahm
Copy link
Member

Also, I wouldn't put it into the RIOT intro text but rather add an individual headline like "Related projects" or "Spin-offs".

@kfessel
Copy link
Contributor Author

kfessel commented Nov 29, 2024

Compared to the rest of the README.md I'm missing a line break after 80 characters.

after pushing the fix for that i realized its not hard at 80 but gladly it is soft (-> first line is 80 but second 83 should be ok)

Also, I wouldn't put it into the RIOT intro text but rather add an individual headline like "Related projects" or "Spin-offs".

even though i don't think the "battery included on par" part in the Ariel OS intro is a bit optimistic ( probably just different kindof batterys), the Ariel OS - Readme refers to RIOT in the intro as well

@OlegHahm
Copy link
Member

Also, I wouldn't put it into the RIOT intro text but rather add an individual headline like "Related projects" or "Spin-offs".

even though i don't think SGSOACSthe "battery included on par" part in the Ariel OS intro is a bit optimistic ( probably just different kindof batterys), the Ariel OS - Readme refers to RIOT in the intro as well

For my taste it just looks a bit misplaced here. For Ariel OS it makes more sense since the project is essentially a fork of RIOT OS (community-wise not technically). Also, I like substructure.

@chrysn
Copy link
Member

chrysn commented Nov 29, 2024

I agree with Oleg that a

## Related projects

section makes sense, eg. above or below 'Contribute'. Either way, I like the text as it is proposed now. The link could also go to https://ariel-os.org/, which currently redirects to GitHub but may later spin into a dedicated website.

@kfessel
Copy link
Contributor Author

kfessel commented Nov 29, 2024

somehow ariel os having its own subheading far down looks strange
https://github.com/kfessel/RIOT/blob/6a0c3184374975c446b3179bb6acf08674356e0e/README.md
vs
https://github.com/kfessel/RIOT/blob/c31a3b47e39894b19050ba02406f2aaf66040618/README.md

i think its more due to it beeing singular

still strange

@maribu
Copy link
Member

maribu commented Nov 29, 2024

Please squash :)

@maribu
Copy link
Member

maribu commented Nov 29, 2024

The rust support should IMO be a separate PR

@waehlisch
Copy link
Member

agree with Oleg. even the current proposal is misleading. the current version shouldn't be merged.

@waehlisch
Copy link
Member

the term "offspring" doesn't fit.

it may fit in awesome-riot-os under the caption "Projects inspired by RIOT".

@waehlisch waehlisch self-requested a review November 29, 2024 17:48
@@ -81,6 +81,10 @@ RIOT provides features including, but not limited to:
* LoRaWAN
* UWB
* Bluetooth (BLE) via [NimBLE](https://github.com/apache/mynewt-nimble)
* Rust support
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the word "support" is unnecessary, otherwise we need to add it to all items in the list.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think just Rust would be misleading, as readers may assume RIOT would be written primarily/purely in Rust.

Probably it would make sense to add some more structure. E.g.

  • Platforms Supported
    • 200+ boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7, and ARM Cortex-M
    • the native port allows to run RIOT as-is on Linux and BSD.
      Multiple instances of RIOT running on a single machine can also be
      interconnected via a simple virtual Ethernet bridge or via a simulated
      IEEE 802.15.4 network (ZEP)
  • Programming Environment
    • Write native code in C, C++, or Rust
    • Rely upon POSIX APIs, user friendly hardware abstractions, and standard embedded Rust interfaces
    • Integrate dynamic runtimes such as MicroPython, elm (JavaScript), and WASM
  • Network Features and Protocols
    • IPv6
    • 6LoWPAN (RFC4944, RFC6282, and RFC6775)
    • UDP
    • RPL (storing mode, P2P mode)
    • CoAP
    • MQTT
    • Bluetooth (BLE) via NimBLE
    • LoRaWAN
    • UWB
    • CNN-Lite
  • System Features
    • a preemptive, tickless scheduler with priorities
    • flexible memory management
    • high resolution, long-term timers
    • MTD abstraction layer for memory devices
  • Security Features
    • OTA updates via SUIT
    • PSA Cryptographic API
    • DTLS, EDHOC, ...
    • ...
  • Device Drivers
    • SPI, I2C, UART, USB, ...
    • Various sensors: Environmental sensors, IMUs, magnetometers, particulate matter sensors, ...
    • Various actuators: Servos, motors, dimmers, switches, RGB LEDs, ...
    • Displays and touchscreens
    • GNSS modules
    • ...

But as said, I'd rather have this discussion split out.

* Rust support

[Ariel OS](https://github.com/ariel-os/ariel-os) is an offspring of RIOT written
in Rust following RIOT's targets and [vision](https://doc.riot-os.org/vision.html).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this text doesn't reflect reality. Ariel-OS is not an offspring.

a reference to Ariel is better placed in the repo https://github.com/RIOT-OS/awesome-riot-os under "Projects inspired by RIOT".

more details, if necessary, could be discussed in an FAQ entry on the RIOT webpage, similar clarification should then be added to Ariel.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ariel-OS is not an offspring.

When would a project qualify as offspring of another?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this text doesn't reflect reality. Ariel-OS is not an offspring.

The term offspring here is not be understood in a literal, biological meaning but in a metaphorical meaning.

a reference to Ariel is better placed in the repo https://github.com/RIOT-OS/awesome-riot-os under "Projects inspired by RIOT".

The "asesome-" naming has a well established meaning that is rather narrow. Projects making use and resources on RIOT do fit in there, projects inspired by RIOT not.

Ariel OS is a research project started by a sizeable and highly active part of the RIOT community with a shared vision and multiple contributors active in both projects. There is a common understanding that we want to share code between the two OS when this is technically sensible. This makes the relationship between Ariel OS and RIOT special. This special relationship is also reflected by the README in the Ariel OS repo.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this text doesn't reflect reality. Ariel-OS is not an offspring.

The term offspring here is not be understood in a literal, biological meaning but in a metaphorical meaning.

i was writing my comment under the assumption that we are not in the bio sphere, but the wording neither fits in connotation nor denotation.

Ariel OS is a research project started by a sizeable and highly active part of the RIOT community with a shared vision and multiple contributors active in both projects.

Ariel currently counts eleven contributors, seven of them contributed to RIOT (out of these seven only three contributed more >10 commits to Ariel). i'm not in favor of number crunching but "sizeable and highly active part of the RIOT community" might seem a rather optimistic perspective.

This special relationship is also reflected by the README in the Ariel OS repo.

the README says "Rust & RIOT combined for ergonomic embedded development" and "Overall, Ariel OS gives you a 'batteries-included' experience, on par with RIOT."

originally, the Ariel README also included "Ariel OS links with many components of RIOT OS, which is licenced under the terms of LGPLv2.1." but this was removed in a recent PR (luckily, because the crossing out didn't look good ...).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was writing my comment under the assumption that we are not in the bio sphere, but the wording neither fits in connotation nor denotation.

Given that you seem to disagree strongly with using 'offspring' here, what's required for a project to be offspring of another project? Because the rest of the participants in the discourse here seem to agree on on offspring as a good description

Ariel currently counts eleven contributors, seven of them contributed to RIOT (out of these seven only three contributed more >10 commits to Ariel). i'm not in favor of number crunching but "sizeable and highly active part of the RIOT community" might seem a rather optimistic perspective.

I think we both can agree that basing the level of involvement of different contributers purely on number of commits gives a very skewed and imprecise view. Maybe these numbers that gives you the impression that the statement made above by @maribu is optimistic, but I don't think any counter claims about this can be made purely based on commit history or lines changed.

originally, the Ariel README also included "Ariel OS links with many components of RIOT OS, which is licenced under the terms of LGPLv2.1." but this was removed in a recent PR (luckily, because the crossing out didn't look good ...).

👍

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I count 3 approvals. Furthermore 5 participants in this conversation submitted comments that implied agreement

And 9 positive votes in the forum post where 8 of them come from maintainers.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main question here is about the phrasing of the exact reference to Ariel OS.

debatable, given the caption and contribution description my understanding was different.

No alternative suggestions have been offered so far.

not true. @OlegHahm was suggesting "spin-off" under the section "Related projects" and i gave it a +1 before i started commenting.

this was the state of this PR a few commits back

but this is not the state i was commenting on, nor the state that we currently discuss.

to make my position even more clearer: i don't think that any discussion about related projects belongs to the README of RIOT. in the RIOT README, the content in its core should be about RIOT, additional information can be reached via references. the relation between Ariel and RIOT is something that should be discussed in an FAQ (happy to see a generic reference in the README to our FAQ). if there is rough consensus that text about Ariel should be included in the README, i'm strongly against the term offspring but i don't have anything against calling Ariel a spin-off of RIOT.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@waehlisch the 9th edition including @chrysn's quote is available online at https://github.com/gg-daddy/ebooks/blob/master/Operating%20System%20Concepts%2C%209th%20Edition.pdf, for instance.

thanks, but doesn't help me to agree on what @chrysn was writing. anyhow, i don't think that this is the right forum to discuss this further.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is the forum to discuss it because there is a 4-line PR blocked by a position that many do not comprehend.

I brought up that book because you claim in the request-for-change position that the "offspring" term is inaccurate. As I found it accurate based on having seen a lot of informal descriptions of OS lineages, I looked up the next best available courses on "what is an OS", as to see whether those genealogical terms are just used informally or also in textbooks. So no need to look up University Minnesota courses – that's just where I found that book. Chapter 20 of that book (here my reference was inaccurate: the link made it sound like it's a chapter in the course) does what I expect OS text books to do: Use terminology of ancestry rather loosely. They do not use "offspring" (AIU nobody here claimed that), but they do use the term "ancestry" even for operating systems that have less in common than RIOT and Ariel. Full relevant quote:

The Mach operating system traces its ancestry to the Accent operating system developed at Carnegie Mellon University (CMU). Mach’s communication system and philosophy are derived from Accent, but many other significant portions of the system (for example, the virtual memory system and task and thread management) were developed from scratch.

So from where I'm standing, terminology of being a family or lineage of operating systems has been in wide use, and the references I've looked up on that so far seem to support that. You probably have more experience throwing "ancestry" and "operating systems" into the relevant publication search engines – but maybe you can also clarify whether the opposition here is on the amount of influence Ariel claims RIOT had on it, whether you disagree that the terminology is the widespread one for this kind of relations, or whether you disagree that "offspring" is evocative of the ancestry terminology.

@maribu
Copy link
Member

maribu commented Nov 29, 2024

Maybe this is a tool for efficiently finding out how the RIOT community feels about adding the reference to the README.md: https://forum.riot-os.org/t/should-we-add-a-reference-to-ariel-os-in-the-riots-readme-md/4429

@waehlisch
Copy link
Member

Maybe this is a tool for efficiently finding out how the RIOT community feels about adding the reference to the README.md: https://forum.riot-os.org/t/should-we-add-a-reference-to-ariel-os-in-the-riots-readme-md/4429

what do you mean with "the reference"? the poll is about "a reference". thanks for clarifying.

@OlegHahm
Copy link
Member

Did you intentionally move the reference back in the intro section? (I somehow lost track of the changes and do not trust the Github UI here.)

Comment on lines +86 to +87
[Ariel OS](https://github.com/ariel-os/ariel-os) is an offspring of RIOT written
in Rust following RIOT's targets and [vision](https://doc.riot-os.org/vision.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I always liked littlefs' related projects section. I think it's a sign of humility to know that you are not the only game in town, but that you aspire to a friendly competition instead claiming that you are the greatest and nothing can compare.

It also helps with understanding what the project is about. "What is RIOT? Ah, it's like Zephyr or Contiki, so not something I'd run as the main OS on my laptop or in a container in the cloud."

Suggested change
[Ariel OS](https://github.com/ariel-os/ariel-os) is an offspring of RIOT written
in Rust following RIOT's targets and [vision](https://doc.riot-os.org/vision.html).
### Related projects
- [Ariel OS](https://github.com/ariel-os/ariel-os) is an offspring of RIOT written
in Rust following RIOT's targets and [vision](https://doc.riot-os.org/vision.html).
- [Contiki](https://github.com/contiki-ng/contiki-ng) was an inspiration for starting RIOT, a operating system for constrained devices with a focus on networking.
- [NuttX](https://github.com/apache/nuttx) is another general purpose microcontroller OS with a focus on bringing POSIX to MCUs
- [RT-Thread](https://github.com/RT-Thread/rt-thread) is a microcontroller operating system with strong roots in China and a large community there, it has extensive support for MCUs from Chinese vendors, but also for western ones.
- [Zephyr](https://github.com/zephyrproject-rtos/zephyr) is general-purpose operating system for microcontrollers, shepparded by the Linux foundation.

phrasing is of course up for suggestions, e.g. I know only very little about NuttX and RT-Thread.

My criteria for inclusion would be that it is a 'batteries included' OS with a proper networking stack.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the way forward. Such a section is long overdue imo. One could also phrase it "Alternatives" as it is done in other projects.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I always liked littlefs' related projects section. I think it's a sign of humility to know that you are not the only game in town, but that you aspire to a friendly competition instead claiming that you are the greatest and nothing can compare.

It also helps with understanding what the project is about. "What is RIOT? Ah, it's like Zephyr or Contiki, so not something I'd run as the main OS on my laptop or in a container in the cloud."

phrasing is of course up for suggestions, e.g. I know only very little about NuttX and RT-Thread.

My criteria for inclusion would be that it is a 'batteries included' OS with a proper networking stack.

sounds like a decent suggestion. i sill would replace "offspring" by "spin-off". i also like the caption because "related" is a better fit than "alternative" (alternative really depends on the context).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go bike-shedding: I'd move Zephyr up, as I believe it to be the most obvious alternative to RIOT, one below Ariel OS.

We use title case for the other section headers, so " Related projects" --> "Related Projects".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: doc Area: Documentation CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: skip compile test If set, CI server will run only non-compile jobs, but no compile jobs or their dependent jobs Process: needs backport Integration Process: The PR is required to be backported to a release or feature branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.