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

_faqs: Add frequently asked quetions from the Chemnitzer Linux Tage #125

Merged
merged 3 commits into from
Apr 22, 2024

Conversation

maribu
Copy link
Member

@maribu maribu commented Mar 21, 2024

A number of questions frequently asked at the Chemnitzer Linux Tage about RIOT is not covered by the FAQs. So, let's add them :)

@kfessel, @mguetschow, @benpicco may also recall some common questions that are not in the list yet.

The question regarding citation seemed to have intentionally been
at the bottom, let's make sure it keeps that way.
Copy link

github-actions bot commented Mar 21, 2024

🚀 PR preview deployed to https://RIOT-OS-riot-os-org-preview-125.surge.sh

_faqs/faq-12.md Outdated Show resolved Hide resolved
@maribu
Copy link
Member Author

maribu commented Mar 21, 2024

Hint for the reviewers: The summary diff provided here is a bit misleading, a look at 42d51ce details accurately what happened to the citation FAQ.

_faqs/faq-12.md Outdated Show resolved Hide resolved
Copy link
Contributor

@jkarinkl jkarinkl left a comment

Choose a reason for hiding this comment

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

Some notes on the Arduino and Zephyr comparison.

* Emmanuel Baccelli, Cenk G&uuml;ndo&#287;an, Oliver Hahm, Peter Kietzmann, Martine Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, Matthias W&auml;hlisch, <a href="{{ "assets/pdfs/riot-ieeeiotjournal-2018.pdf" | relative_url }}">RIOT: An Open Source Operating System for Low-End Embedded Devices in the IoT</a>, IEEE Internet of Things Journal, Vol. 5, No. 6, pp. 4428-4440, December 2018.
Compared to **Arduino**, RIOT provides advanced features such as native multi-threading and a mature network stack, while still providing a gentle learning curve.
This allows new users to quickly get productive with RIOT without limiting developers to specific design patterns and software architectures.
As a nice treat for users migrating from Arduino, our [Arduino compatibility layer](https://doc.riot-os.org/group__sys__arduino.html) allows re-using sketches and libraries from the Arduino world.

Copy link
Contributor

Choose a reason for hiding this comment

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

What I have heard from David (emeutier at the forum) during an interview about learning solutions for RIOT beginners (see forum thread) is that RIOT is long term nicer to work with than Arduino.

Once you figure out how RIOT works, you can reuse the basic code of RIOT and several bricks. With Arduino, you always have a different interface. Arduino libraries are build everything from scratch every time, code cannot be reused easily. RIOT is centralized, that is nice and works good. Arduino is shattered.

Might be useful to add something about this reuse of code here as well?

_faqs/faq-12.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@mguetschow mguetschow left a comment

Choose a reason for hiding this comment

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

Thanks a lot for the write-up @maribu ! Some comments and typo fixes below.

_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
@maribu
Copy link
Member Author

maribu commented Mar 25, 2024

OK, this got quite a bit larger. I hope I picked up all the comments.

Copy link
Collaborator

@mguetschow mguetschow left a comment

Choose a reason for hiding this comment

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

Wow, indeed a big one, thank you! Some typo fixess and suggestions below.

Don't we want to link to the other projects?

_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
Copy link
Contributor

@jkarinkl jkarinkl left a comment

Choose a reason for hiding this comment

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

Nice text! It is really clear what the differences are and also why RIOT is great :).
Thanks for writing this and improving the text.

I have some feedback on governance vs government word use and some grammar.

_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated
As a nice treat for users that started with Arduino but ran in limitations, our [Arduino compatibility layer][riot-arduino] allows re-using sketches and libraries from the Arduino world.

Arduino has a vast ecosystem of libraries developed independently by 3rd parties.
RIOT set of modules and packages is not that vast, but RIOT's modules are seamlessly integrated, have a consistent APIs and integrate well with each others.
Copy link
Contributor

Choose a reason for hiding this comment

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

Grammar line 53:

  • 'RIOT's set.... ' instead of 'RIOT set...'
  • 'APIs' or 'API'?
  • 'other' instead of 'others'

Copy link
Member

Choose a reason for hiding this comment

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

i would argue against the genitive in the phrase about the set. RIOT does not own sets. RIOT is an operating system. if you refer to the RIOT community, it would be weird, too.

Copy link
Collaborator

Choose a reason for hiding this comment

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

How about "The number of modules and packages shipped with RIOT is smaller, but they are seamlessly integrated, provide a consistent API and combine well with each other."?

_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
_faqs/faq-12.md Outdated Show resolved Hide resolved
@maribu
Copy link
Member Author

maribu commented Mar 25, 2024

Don't we want to link to the other projects?

Good idea, see cc0b4d7

_faqs/faq-12.md Outdated Show resolved Hide resolved
@maribu maribu force-pushed the faq/chemnitzer-linux-tage branch from 362631f to b663067 Compare April 9, 2024 10:58
Copy link
Collaborator

@mguetschow mguetschow left a comment

Choose a reason for hiding this comment

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

LGTM as is! Anything left to do from your side @maribu or can we merge?

@maribu
Copy link
Member Author

maribu commented Apr 22, 2024

I think this is ready now :)


RIOT is distributed under a copyleft license and strongly prefers free and open source components over proprietary code and binary blobs.
Still, RIOT does contain proprietary drivers (some even using binary blobs) where no free alternative is available, e.g. for the ESP WiFi chipset.
<!-- FIXME: Make FAQ entries linkable and link to "Why LGPL?" -->
Copy link
Member

Choose a reason for hiding this comment

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

Was this intended to be addressed here? While I am not sure if there is a "programmable" reference system, the FAQ entries are linkable since they have an anchor. The anchor for "Why LGPL?" is #faq2. If it is not intended to be addressed here: Remove?

Copy link
Member Author

Choose a reason for hiding this comment

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

I tested https://www.riot-os.org/#faq2 and it does not work for me. There also is no anchor in the HTML.

I think it would make sense to add the link, but making the FAQ entries linkable is IMO out of scope. (It would also make sense to have more stable IDs, as reordering the entries would break a number based system.)

Copy link
Collaborator

Choose a reason for hiding this comment

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

It works for me iff the FAQ entry is already expanded.

Copy link
Member

Choose a reason for hiding this comment

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

I tested https://www.riot-os.org/#faq2 and it does not work for me. There also is no anchor in the HTML.

Huh? There is for me (see screenshot below) and it is also present in the Jekyll template

<div id="faq{{ forloop.index }}" class="collapse" data-bs-parent=".faq-list">

Copy link
Member

Choose a reason for hiding this comment

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

Ah, it only works, if the FAQ is expanded... Ok, then let's postpone this.

Copy link
Member

Choose a reason for hiding this comment

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

Github showed me https://github.com/RIOT-OS/riot-os.org/pull/125/files#r1574802395 only now after hitting Refresh 😭

Copy link
Member Author

Choose a reason for hiding this comment

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

Same. If I use <a id="faq-license">...</a> it also works when the FAQ entry is not expanded.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, it only works, if the FAQ is expanded... Ok, then let's postpone this.

See #127

_faqs/faq-12.md Outdated Show resolved Hide resolved
@miri64
Copy link
Member

miri64 commented Apr 22, 2024

Co-authored-by: Martine Lenders <mail@martine-lenders.eu>

Can you use my TU Dresden address here, please?

@maribu
Copy link
Member Author

maribu commented Apr 22, 2024

Co-authored-by: Martine Lenders <mail@martine-lenders.eu>

Can you use my TU Dresden address here, please?

Sure! You may want to change your GitHub settings, though, as this was copied verbatim from the "accept suggestion" commit.

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
Co-authored-by: Karin Lammers <helloworld@karinlammers.eu>
Co-authored-by: Martine Lenders <martine.lenders@tu-dresden.de>
Copy link
Member

@miri64 miri64 left a comment

Choose a reason for hiding this comment

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

Sure! You may want to change your GitHub settings, though, as this was copied verbatim from the "accept suggestion" commit.

Done and ACK!

@miri64 miri64 merged commit 3c659d5 into RIOT-OS:master Apr 22, 2024
1 check passed
@mguetschow
Copy link
Collaborator

Thanks everyone! 🎉

@maribu maribu deleted the faq/chemnitzer-linux-tage branch April 22, 2024 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants