Intellectual property??

Steven Gordon's Avatar

Steven Gordon

29 Jul, 2022 11:02 PM

I discovered a gem was posted that is supposedly an implementation of a data structure called a GADDAG that I published back in the 90s. It represents a utter misunderstanding of my data structure. Furthermore, there is no author name in the readme to directly appeal to.

Open source is not just an excuse to allow anybody to do anything. Would your organization allow an implementation of a b-tree that did not support the inherent methods of a b-tree? Does you organization simply allow anybody to publish anything? Why don't you at least require an author who is also the poster?

Please, remove the GADDAG gem from your site until the author implements a version that meets the published specification.

  1. Support Staff 1 Posted by lsegal on 30 Jul, 2022 11:22 PM

    lsegal's Avatar

    Hi Steven,

    There is a lot to unpack here. The short answer is that so long as the project in question does not violate any known laws, we do not control or moderate the publication of source code or the documentation of said source code to the Internet through our service. It is my understanding (NB: not a lawyer) that though your paper on GADDAG may be subject to copyright, the data structures and subsequent algorithms that operate on them cannot be.

    More importantly, however, Rubydoc, as its name implies, is a site that serves documentation for publicly accessible gems and Ruby projects. We do not host gems or source code, and thus could not remove this gem so long as its source is publicly available on In order to make such a claim, you would likeky need to contact the owners there. I cannot speak to their policies in general, but my understanding is that similar freedom of publication applies there so long as there is no law being broken. From experience dealing with a few of these requests, your path would likely require asserting copyright ownership over the source or a trademark over the gem name, but feel free to reach out to them for exact policies. I can tell you that from our end, so long as the gem exists on rubygems or Github, we will serve documentation for it.

    To answer a few of your specific questions with the blanket assumption that all gems in question are "legal" (do not violate any US laws):

    Would your organization allow an implementation of a b-tree that did not support the inherent methods of a b-tree?

    Our organization would in fact happily serve documentation for any gem that is published regardless how correct we believe its implementation to be. Our job is to provide documentation for APIs, not to gatekeep implementations or decide who is allowed to share source code online.

    Does you organization simply allow anybody to publish anything?

    Yep. This is actually the entire premise of Open Source: the freedom to download, modify, and share any modifications to any piece of code, for any intended purpose, so long as it meets the correct legal / licensing requirements. I am again not a lawyer, but my understanding is that there are no existing licensing requirements to publish any implementation of this algorithm, and there is certainly no requirement for the implementation to "meet the published specification" even if other licensing restrictions existed.

    Why don't you at least require an author who is also the poster?

    Not quite sure what this means but just for your reference, nobody actually publishes anything to Rubydoc. We simply host what is already available on the public Internet. In other words, our requirements for authorship are the same as that for any content on the Internet.

    My strong recommendation would be to, rather than going down this path, simply reach out to the author (you can look this information up on the gaddag gem page) to have a constructive conversation about improving the algorithm / implementation in the existing gem. If for any reason this does not work out, you are just as free to fork the project and fix (this is how Open Source works after all) or simply publish a completely new implementation of the algorithm. In such a case, we will happily host documentation for your gem as well and provide you the same space to freely create, iterate, and improve on your project without judgement, just as we do for every other project in our Open Source community.

    Hope that helps!

  2. 2 Posted by Steven Gordon on 31 Jul, 2022 05:32 PM

    Steven Gordon's Avatar

    Thanks for the pointer to the author.

    Please, consider allowing public comments on the gems you post..

  3. Support Staff 3 Posted by lsegal on 31 Jul, 2022 07:44 PM

    lsegal's Avatar

    We used to host comments on documentation page to allow users to add helpful comments about API usage, but we stopped because we found this was not a good way to ensure conversations were reaching the maintainers. Most authors are not reading their documentation pages or being notified.

    Again, the best way to reach the maintainers of any open source project is via the project's self reported project page. Although this can often be listed in docs (we certainly recommend that maintainers do this), the most reliable way to find this information is to find the listing where the package was published, not on the documentation site. The project page (in this case GitHub repo) is where you want to be having these conversations. I would recommend following the open source process and filing an issue on the project's GitHub repo.

    I'm going to mark this as closed since there is no actionable item on our end. Hope this helps!

  4. lsegal closed this discussion on 31 Jul, 2022 07:44 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac