As announced in Trademark Policy, please use this topic for any questions, feedback and discussions on our Trademark Policy and Logo re-use.
Itâs great that this is finally settled. However, Iâve a question as I might be running afoul of the policy unfortunately.
I have a library of JavaScript classes and a bunch of rule templates (and eventually perhaps MainUI Widgets) which I host there and publish to the marketplace that I call âopenhab_rules_toolsâ. See
- Announcing the initial release of openhab_rules_tools
- GitHub - rkoshak/openhab-rules-tools: Library functions, classes, and examples to reuse in the development of new Rules.
Technically this is a software product and âopenHABâ is in the name. The JS Library is published to npm
under this name.
Do I need to change the name?
Quoting here the trademark page:
The openHAB trademark and logo (the âMarksâ) are valuable assets of the openHAB Foundation (the âFoundationâ) and are protected by trademark law.
Foundation claims to own (valuable assets of the foundation) both name and logo, while EUIPO still points to Kai as owner of the name. Can you acknowledge that there is ongoing legal process which will make foundation own also the âopenHABâ name?
I need to ask about point which, to be honest, I am not surprised to see:
Only the openHAB project is authorized to develop or maintain software packages that use openHAB namespaces such as âorg.openhabâ in their namespace. This naming convention is used to identify code that has been developed as part of the openHAB project.
Does it apply to âsoftware packagesâ themselves such as deb/rpm/jar/snap or more? I need to ask about boundary of software package term here, does it mean âopenhab-addons.karâ, openhab-runtime.zip or code which declares org.openhab
package? How does it apply to people who use public openhab-addons forks and then publish their addonss through there? I think most of them rely on official documentation which advises to use create-binding-skelton
script, which makes bindings under org.openhab
package and final result called org.openhab.xyz-$version.jar
.
Best,
Ćukasz
The policy indeed requires you to have a written permission from the foundation for it - this way we can keep track of what is allowed to âbreak the rulesâ - Iâd hence suggest to ask for permission at trademarks@openhabfoundation.org. In general, a name that clearly shows that it is not an official openHAB artifact is definitely a better choice (like ârichs-openhab-rules-toolsâ) and more likely to be approved - so maybe you would want to consider such a name change?
Oh well, thatâs too bad. If I have to change the name anyway Iâll just take the âopenHABâ out of it and avoid the extra work. openHABian
will have to be updated too since it installs the library too.
Itâs probably going to take a couple of weeks to pull it out, redeploy the npm package, update openHABian, update all the code, etc.
The registration of the name predates the creation of the foundation, so it is indeed registered on my name. But I have signed a contract with the foundation to indefinitely pass all rights of the trademark to it. Once the registration needs to be prolonged, it will be registered directly to the foundation.
Does it apply to âsoftware packagesâ themselves such as deb/rpm/jar/snap or more?
No, it applies only to source code. âpackagesâ would rather be software products (see @rlkoshakâs question above).
How does it apply to people who use public openhab-addons forks
Thatâs a good point that I also already thought about. My take is that a fork that is created for using openHAB and collaborating with openHAB (e.g. for testing it, customizing it for ones own purposes, doing PRs to the original repo, etc.) is clearly fine to use the org.openhab
namespace. A fork that has the goal to significantly diverge from the official repo (e.g. by building a commercial product or starting a competing project), would have to change the namespace of the code.
Its probably differs across jurisdictions, however EUIPO provides procedure for transferring trademark between entities. AFAIK ownership transfer is not related to renewal, would you be so kind and point out when contract you mention was signed to explain why publication of ownership change is/was deferred?
Most of trademark notices Iâve seen so far have a form similar to below:
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.
How shall we, as users, properly indicate owner of a mark given all recent events?
One issue I can see here is how above aligns with âgrant of rightsâ (2a) and ârequirementsâ (3.3) coming from Eclipse Public License v2 which people who contribute code, including you as original author, and myself in much smaller amount, agreed with:
2a. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.
3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (ânoticesâ) contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.
The grants and requirements above simply do not reflect restrictions you imposed in your statement, hence I must ask if its your private opinion or official statement of president of foundation which legally owns openHAB trademark? Severity is completely different depending on which hat you wear now.
You should note that both the EPL license text as well as the namespace rule are both taken over from the Eclipse Foundation. So if you see any issues there, you might also want to check how the Eclipse folks deal with it.
If you need official binding answers from the openHAB Foundation, please address these to trademarks@openhabfoundation.org as those will have to be discussed and agreed on by all board members.
Trademark notice is something which applies to everyone hence my earlier suggestion to make it part of your policy. I donât think your motivation in publishing it was to keep people sending you mails with inquiries about basics, but I might be wrong.
For EPL - it does not specify namespace rule, Eclipse Foundation does it in its trademark policy. Given that openhab-core was not taken down day after it got copy of whole org.eclipse.smarthome code I guess enforcing it is much harder than declaring.
What exactly are you missing ?
Trademark notice can be found in the imprint of our website. And thatâs the place it belongs to.
The reason was that we had a written permission to do this temporarily.
Given that the trademark policy is out now, I also have to ask two questions:
- I have a personal JavaScript library on npm that included a bunch of JavaScript classes I use in JS Scripting. The package has the name
@hotzware/openhab-tools
and the repo is GitHub - florian-h05/openhab-js-tools: Tools for the openHAB JavaScript Automation Add-On.. What do I have to do to avoid trouble? - I have (as many others I think) two repo swhere I share MainUI widgets and other openHAB related stuff, see GitHub - florian-h05/openhab-conf: openHAB 3 widgets & JavaScript scrips. What to do here to avoid trouble?
Reading the trademark policy and this thread, for my npm package I think I would have to contact trademarks@openhabfoundation.org (note that the @hotzware npm namespace is used to publish to package and avoid affiliations with openHAB).
But I am not sure what applies for my openhab-conf repo.
This appears to be nearly the same situation as Iâm in and thatâs what Iâve done. Still awaiting feedback but given this is new to everyone I expect it to take some time. You definitely wonât go wrong contacting them for both repos I would think.
The annoying thing is with trademarks the holder has to police and defend it or the law considers the trademark abandoned and they lose it. So they have to carefully balance being supportive of the community with being too permissive and lose the trademark. Iâm glad Iâm not in their position. Ainât nobody gonna be happy.
As I am not working with the openHAB code base anymore I am not really affected by this trademark story.
But for me (personally)
Only the openHAB project is authorized to develop or maintain software packages that use openHAB namespaces such as âorg.openhabâ in their namespace. This naming convention is used to identify code that has been developed as part of the openHAB project.
is a very interesting point.
What if a fork needs to change / enhance an interface that resides in the project namespace?
What if a fork needs just to change / add / remove a few line of codes e.g. to add / remove a small feature or a bugfix in an existing class?
What if you want to allow the usage of bindings in your fork that uses modifications? As you still need to provide all that interfaces the bindings uses you will violate this rule sooner or later.
I understand that section for new code creation. A project would like to prevent new stuff is created in their namespace but IMHO it needs to be differt between new code and ârequiredâ modifications of existing code.
How does it affect forks that has been created before that introduction?
If someone has more information about the legal part of introducing such an limitations could you keep me informed?
Hi @maggu2810,
Nice to hear from you, I hope you are fine!
Please note that this section is copied exactly from what the Eclipse Foundation defines for org.eclipse
, see Eclipse Foundation Trademark Usage Policy | The Eclipse Foundation, so we tried not to invent and such rules on our own, but rather use established rules by other big foundations.
I understand that section for new code creation.
Yes, thatâs absolutely right. Any existing files can clearly be modified and maintained in forks.
The intention of the rule is mainly to avoid complete 3rd party projects to use the namespace and by this appear to be âofficialâ code from openHAB. I think this is a fair requirement that is very much aligned with what namespaces are meant for - to identify the source of the code (by using the inverse domain name scheme).