Go Down

Topic: New official policy for the use of "Arduino" in library names (Read 166 times) previous topic - next topic

pert

Arduino decided today that libraries with a name value in their library.properties file starting with the word "Arduino" will no longer be permitted addition in the Library Manager index. The reason is that Arduino wants to reserve these names for their own official libraries.

Note that this restriction only applies to the name value in library.properties. It does not apply to the repository name or the header file name. However, it is best practices to make all of those match as closely as possible, since the Arduino IDE uses this as one of the determining factors in which library gets priority when multiple libraries contain a file that matches an #include directive.

Note that libraries with a name that is not compliant with the new policy will still work fine when installed via the Arduino IDE's Sketch > Manage Libraries > Add .ZIP Library, the Arduino Web Editor's Import feature, or manually installed. This is only about the Library Manager index.

There is no indication of plans to apply the policy to libraries which have already been added to the Library Manager index.

Since a name change is much more disruptive once a project has been well established, I recommend that everyone use library names compliant with the new policy in their new libraries, even if you don't have immediate plans to request addition to the Arduino Library Manager index.

Library Manager offers the easiest way for users to install libraries, get notifications of updates, install updates, even roll back to previous versions. I urge all library authors who have not done so already to consider adding their libraries to the Library Manager index.


Information on adding your library to the Arduino Library Manager index:
https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

Information on the library.properties metadata file:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format

Robin2

Arduino decided today ...
So why isn't Arduino telling us this himself (or herself) rather than leaving it to you to do so?

...R

PS ... I don't mean to undervalue your Post.
Two or three hours spent thinking and reading documentation solves most programming problems.

pert

A couple of months ago I was contracted by Arduino to start doing some paid work. Documenting this policy is one of my assignments. So, even though it's not coming from someone at the level of Massimo Banzi, you can consider this to be Arduino telling you.

I was not instructed to create a forum post, but I thought it would be a good idea to get the word out. It's much better for people to know about this policy now, rather than far down the line when they have already established their library name with many users and then find out that their library name is non-compliant when they request inclusion in the Library Manager.

I have long had some inkling that it was not a good idea to use "Arduino" in public project names, since it is a trademark, but I still ended up doing so in a couple of mine that started as personal projects and then grew into something I thought others might find useful. Luckily, they are not libraries.

mbanzi

Pert is posting on our behalf.
Our official libraries from now on we'll be called Arduino_Something,

m

Robin2

A couple of months ago I was contracted by Arduino to start doing some paid work. Documenting this policy is one of my assignments. So, even though it's not coming from someone at the level of Massimo Banzi, you can consider this to be Arduino telling you.
I am delighted to know that, finally, someone working for Arduino is a regular contributor to the Forum. It is long overdue.

Given your status ( :) ) your Original Post might have started with the words "We at Arduino decided today ..."


I appreciate that M. Banzi has put in an appearance, but I would have been happy to take you at your word.

...R
PS ... my French is very weak and my Italian is non-existent. Perhaps it should be Sig. Banzi ? 
Two or three hours spent thinking and reading documentation solves most programming problems.

pert

Thanks for your support Robin2. I hope I will be able to make more contributions to the Arduino organization and the Arduino community both in this new role.

I agree that I might have phrased my announcement better to avoid any confusion. I guess after years of being a volunteer, I'm not yet accustomed to being somewhat "official" now.

westfw


Quote
 I was contracted by Arduino to start doing some paid work.
Congratulations!   Well deserved, IMO.

Is there a suggested replacement library prefix, to indicate "strong" Arduino dependence?
I guess that's pretty much implied by the existence of the properties file in the first place, and doesn't matter THAT much if the name used there doesn't need to match filenames.  But as you said, it's probably nice to to keep the filenames/etc consistent with the name in properties...

pert

Thanks westfw!

In their FAQ, Arduino suggests using "... for Arduino" to describe Arduino compatible hardware. I wonder whether the same is acceptable for software? It seems a bit wordy for a library name though, maybe better for the description field.

What I have settled on in naming my own public projects for Arduino is to prefix them with "Ino", in the hopes that will give enough of a clue of the Arduino nature without any worries of stepping on Arduino's toes. More common is the "Ardu" prefix or the "duino" suffix. Of the latter, the FAQ says:
Quote
Note that while we don't attempt to restrict uses of the "duino" suffix, its use causes the Italians on the team to cringe (apparently it sounds terrible); you might want to avoid it. (It's also trademarked by a Hungarian company.)
I do think it would be nice to have some way of making the library name a bit more specific to indicate at a glance that it's for Arduino. Something generic like "BMP280" could be for any platform (though Arduino is so popular that you would have a reasonable chance of guessing it was for Arduino). It's also quite likely that there will end up being multiple projects of the same name.

Go Up