PlatformIO Community

How to handle someone registering my Library?

I’m the author/maintainer of SmartMatrix Library and the GifDecoder library, and they’re published under my GitHub username “pixelmatix”. I’m new to PlatformIO, and wanted to register my libraries in PlatformIO Library Manager, but found that someone else had already registered username “pixelmatix” and registered my libraries under that name:

I’d like to be able to maintain these libraries in PlatformIO, specifically submitting new releases to the Library Manager. I created a new PlatformIO username, and tried using pio package publish, but it creates a new registry entry in Library Manager under my new username. Now instead of my library users being able to update to the latest version of my library, the out of date “SmartMatrix” that someone else submitted is still the default there are duplicate entries for “SmartMatrix” in Library Manager, and to get the latest my users will have to specify “embedded-creations/SmartMatrix” instead of just “SmartMatrix”.

How can I resolve the duplicate issue? Ideally I’d like to have access to the “pixelmatix” username, but I can see why you wouldn’t be able to do that. Barring that, I’d like pixelmatix/SmartMatrix and pixelmatix/GifDecoder removed from Library Manager, and embedded-creations/SmartMatrix and embedded-creations/GifDecoder to be left in and become the default for “SmartMatrix” and “GifDecoder”, is that possible?

I don’t see why Library Manager would allow for duplicate entries of the same library, why would that be a good thing? Worst case, you could have every user of a library submit packages for it and clutter up the Library Manager. I suggest that the logic be updated so that if there’s an existing entry - identified by the name and URL (the two items required in library.properties by Arduino Library Manager), that the duplicate entry be blocked. If there’s a question of ownership, the owner can be identified by adding something unique to the git repo. I haven’t thought through this issue fully, so there’s probably some large holes in my idea, but it seems something like this should be put into place. I don’t see Arduino Library Manager having or allowing duplicate libraries to be submitted.

If a user forks an open source library, he / she may register it as the same name but under a different username.

There’s indeed no “proof of ownership” when registering a library into the PIO registry as far as I’m aware of.

I think @ivankravets should handle this topic.

1 Like

Hi,

Thanks for using PlatformIO! You are now an owner of Pixelmatix organization. See instruction on how to manage owners, teams, packages https://docs.platformio.org/en/latest/core/migration.html#collaborative-platform

Hi Ivan, thanks for granting me the Pixelmatix organization! I was able to publish the latest version of GifDecoder under Pixelmatix. Did someone register Pixelmatix as a username, or organization previously? Will the person who previously had the name “Pixelmatix” be able to use it anymore?

(Edit about below issue: Hmm, I checked again and bitbank2/AnimatedGIF does show the latest version now. Either it was updated by whoever is publishing library updates on behalf of bitbank2 or by an automated process. This is a non-issue right now, but it may become an issue again next time they release a new version)

I’m trying to figure out how to work around a similar issue with a library from author “bitbank2”.

I spoke to the author, who has never used PlatformIO before and doesn’t know who published his libraries to PlatformIO, and is currently too busy to learn a new tool. He just did a release yesterday, and I would like to use it in PlatformIO. I can checkout his library from GitHub and publish the latest release, but it will be under my username or organization name, and that makes no sense. I didn’t fork his library, so why would there be two entries in the registry that will eventually (after someone likely publishes his latest version of the library) be identical except for the user/organization name?

Do you have a better suggestion as to how I can access his latest library version in the registry other than submitting his library under my username?

I think Arduino Library Manager gets around this by pulling releases from a git repository automatically. You can’t submit a duplicate of a library as it would have the same git repository URL. You don’t have to worry about whoever published the library keeping up with submitting new version as new versions are pulled from the git repo automatically by a script.

This org was automatically registered and disabled when we imported data from the legacy registry. No one has access to it.

There is a legacy “bot” which syncs libs every 24hour. We highly recommend to manage libraries manually and publish updates when you are ready for them. I see that lib which you mentioned is synced now.

I’m having similar issues.

Yesterday, I tried setting up a new PlatformIO user account using user name dlloydev but this was already taken so I had to go with dlloyddev which isn’t ideal as it doesn’t match my email and GitHub profile and path to several Arduino libraries I own/maintain.

I’d like to be able to maintain and publish them to the PlatformIO library registry, but it looks like one of them (ESP32 ESP32S2 AnalogWrite) has already been published here … by either an automated process or perhaps doppelgänger? As it stands, I’m unable to maintain this library.

I managed to publish my second library (QuickPID), but dlloyddev shows up in its path and elsewhere.

Is there any way I could use dlloydev if the account is inactive? I already tried a password reset to see if its linked to any of my email addresses … this didn’t work, so I presume it isn’t using them.

I have a feeling that PlatformIO is creating placeholder accounts matching the GitHub username of projects that are in Arduino Library Manager. If I’m right, it would be nice if this was documented somewhere, along with the standard procedure for the project owner of how to claim one of these accounts.

Resolved!

Please check packages via pio access list.

1 Like