Skip to content

Try and be clearer about how official we mean #14

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

Merged
merged 1 commit into from
Aug 13, 2021

Conversation

peternewman
Copy link
Contributor

No description provided.

@CLAassistant
Copy link

CLAassistant commented Jul 11, 2021

CLA assistant check
All committers have signed the CLA.

@per1234
Copy link
Contributor

per1234 commented Jul 12, 2021

Hi @peternewman. Thanks for your PR. I think it's a reasonable change to make, but I'd like to try to understand the motivation.

This concept of "official" is used other places like the Arduino project specifications and the Arduino Lint output and documentation, so if I can understand exactly what is unclear about it, I can use that to try to write better documentation related to this subject.

What was your first impression of what the previous sentence meant?

Run the checks that only apply to official Arduino projects.

@peternewman
Copy link
Contributor Author

This concept of "official" is used other places like the Arduino project specifications and the Arduino Lint output and documentation, so if I can understand exactly what is unclear about it, I can use that to try to write better documentation related to this subject.

I guess it feels like there are three (or maybe four) levels of libraries:

  1. Those which come by default with the Arduino IDE
  2. Those listed in the library manager
  3. ZIP libraries

I don't know if there are "official" Arduino libraries that don't ship in the default IDE?

For example there are two identically named Teensy libraries to do DMX and RDM:
https://github.com/chrisstaite/TeensyDmx
https://github.com/ssilverman/TeensyDMX

Which behave very differently, the latter (and later) one is "registered", the former (and earlier) isn't. Is one of those therefore official and one not? i.e. does showing up in the IDE make you official?

What was your first impression of what the previous sentence meant?

Run the checks that only apply to official Arduino projects.

Particularly with regards to checks, would every library in the library manager need to pass the checks to be official and in the manager, compare a deb you build and run locally or internally in a company to one that is uploaded to Debian, the latter will have to pass most/all of lintian, it's less important for the former.

Third party seemed a fairly simple way of making that distinction, but perhaps there is a better wording still?

@per1234
Copy link
Contributor

per1234 commented Jul 12, 2021

I guess it feels like there are three (or maybe four) levels of libraries:

For Arduino Lint's purposes, there are only two categories:

  • "official" - software projects under the Arduino company's ownership. i.e., hosted under the arduino, arduino-libraries, bcmi-labs, or vidor-libraries GitHub organizations (definitive list here).
  • everything else

Is the meaning of "official" clear from that explanation?

I don't know if there are "official" Arduino libraries that don't ship in the default IDE?

Yes. Over 100 of them, and more being created all the time! The 18 libraries shipped with the classic Arduino IDE installation are either the very fundamental ones the beginners are most likely to use (e.g., Servo) so they can get straight to having fun after installing the IDE, or ones that were created long ago, before the superior distribution system of Arduino Library Manager was created.

You can find most (with additional scattered through the other organizations I mentioned) of them here:
https://github.com/arduino-libraries
(by the way, we are using codespell-project/actions-codespell on pretty much all of them!)

In fact, there are even a couple of 3rd party libraries bundled with the classic Arduino IDE installation: "Adafruit_CircuitPlayground" and "Firmata".

@peternewman
Copy link
Contributor Author

I guess it feels like there are three (or maybe four) levels of libraries:

For Arduino Lint's purposes, there are only two categories:

* "official" - software projects under the Arduino company's ownership. i.e., hosted under the `arduino`, `arduino-libraries`, `bcmi-labs`, or `vidor-libraries` GitHub organizations (definitive list [here](https://github.com/arduino/library-registry-submission-parser/blob/1.0.0/main.go#L51)).

* everything else

Is the meaning of "official" clear from that explanation?

Yes, although I'm not sure how best you distil that into something succinct, maybe 3rd party does the trick, as it even covers Firmata mentioned below despite the fact it's in the IDE. Or perhaps the above is as simple as you can make it.

(by the way, we are using codespell-project/actions-codespell on pretty much all of them!)

❤️

In fact, there are even a couple of 3rd party libraries bundled with the classic Arduino IDE installation: "Adafruit_CircuitPlayground" and "Firmata".

Yeah that's the sort of thing that has the potential to cause confusion IMHO with a word such as "official".

@per1234 per1234 merged commit 85412a2 into arduino:main Aug 13, 2021
@per1234 per1234 added topic: documentation Related to documentation for the project type: enhancement Proposed improvement labels Aug 13, 2021
@per1234 per1234 self-assigned this Nov 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: documentation Related to documentation for the project type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants