[WITHDRAWN - Use the new Broadlink integration by @tomw] NATIVE Broadlink RM/RM Pro/RM Mini/SP driver

Yes, but you don't know the intent or desire behind that, as he hasn't stated his desire/intent.

At least not anywhere I've seen.

Correct. But the outcome is that he has chosen to take his code offline.

So users with the code can keep running it, but new users can't get the code. Why is that valid? So, out of respect we should all erase and stop using the code?

Yes he has. But you don't know that it is disrespectful or anything else to link to it, as you don't know WHY he took it down.

You are making assumptions on his thoughts, which isn't necessary. In my opinion. If he doesn't want people sharing it, he can say so and we'll all happily comply.

Nothing disrespectful in linking to it. I think mirroring it elsewhere without his explicit permission is disrespectful.

1 Like

Ok.

Agree to disagree I guess. Rehosting with attribution seems fine to me. (EDIT: <-- Per below,, and further education on my part, it is not fine. If there is no specified license, than all rights are reserved by the license holder/author).

If people are passing it off as their own code, then I would agree that is not appropriate. I haven't seen that being done though - maybe I missed that, and if so I apologize.

2 Likes

Wow... memory lane here back to Vera and the apps that vanished with no info, details and then the ongoing discussions... all of this is a repeat even this conversation about linking and distributing and such.

3 Likes

Isn't it exactly that though!

1 Like

It would seem this is the most likely outcome if a developer shares his or her code for free, without any licensing terms...

In far too many ways....

2 Likes

Being a complete stranger to the process of developing, sharing and licensing software, that's what I'm really wondering.

If someone chose to make their code available to the general public for free, but never imposed any licensing terms whatsoever, is there any kind of default understanding, ethically or legally, regarding further distribution of the code? Either while the code is hosted somewhere by the dev, or after it ceases to be available but again without any explanation or instructions from the dev?

I don't really know if this is a valid analogy. But if I don't post a single "private property" or "no trespassing" sign on land that I own, which abuts publicly accessible land, do I have any recourse when someone enters my land? Other than to put up a "no trespassing" sign to stop the next person from doing so...

2 Likes

I'm a professional software developer, and I also contribute to open-source projects, including for Hubitat.

My personal opinion is that most code is like math. It is discovered, and should not be copyrightable. If you put it out there for the world, the world has it and can do what they want.

BUT, and it's a HUGE but. My opinion is not actually the law of the land in most countries, or in my home country, America.

In the US, code is treated the same as written works such as books. You can put license terms on it, but even if you don't, that doesn't make it Public Domain. Ever since 1977, even if you don't assert or mention copyright, your code is copyrighted the moment you write it. Publishing it without a license doesn't change that. And if it's copyrighted, others can only use it as you have licensed it, not for their own purposes.

Ok, now to try to interpret that in this case. I'm not a lawyer, so don't quote me if you get sued.

  1. @cybermage's code is copywrited to him. That is 100% a fact.
  2. He posted it and told us to try it out. That is a form of license to those who received it from him. They are licensed to use the code. He gave no license to further distribute it.
  3. He then stopped publishing the code. That does NOT remove the previous license he had given to people who had already downloaded it. But he is the only lawful publisher. Just because he's not publishing anymore, does not license anyone else to re-publish it. It's similar to if a book goes out of print. Just because it's not being published anymore, does NOT give you freedom to print new copies. To sell. Or even to give away. But a book being out of print also does not make it illegal to read an existing copy.

This is unfortunate, because this is a very useful driver, and I in fact use it myself. But that still doesn't give me the right to redistribute it to others, even if my personal opinion is that code should be as free as the air.

And, like has been said before, @cybermage does not owe us anything. He posted and then withdrew his code for his own reasons, which we have no right to know. There are some lousy employers out there. For all I know, his employer saw it and threatened him. Some employers can't understand the difference between code written at work and code written at home. They believe they own it all, and don't understand that the code written at home has nothing to do with their business.

So, it's unfortunate, but it's the way of things. If it turns out to be such a useful capability (and it is in my case), hopefully Hubitat will create their own implementation and release a 1st-party driver.

7 Likes

Good question. Because those who obtained it from @cybrmage’s google link did so with his implicit permission (provided by making those links available).

Now that he has chosen to make those links unavailable, I believe that @jwetzel1492’s analysis applies.

3 Likes

How can we say for sure he chose to remove it. Could it not be an error he has not had time to correct?

All we know right now is that the copyright-holder of the code is not currently publishing it or licensing it for new uses. And he has never licensed it for redistribution by others.

1 Like

We don't know that, actually. We only know he isn't providing it on github.

He never indicated one way or another what his intents or preferences on new uses are (again, correct me if I'm wrong on that), so any assumption of his intent is exactly that - an assumption. None of us speak for him.

That said, I have a lot of respect for any developer, including cybermage, and agree that when it is unclear as to the intent we should try to be as careful and respectful as possible based on the available data.

I guess the moral of the story is as someone else said on the forum - fork all GitHub projects/code you want to keep access to long term (and allows you to fork it per the license agreement, of course).

1 Like

As near as I can tell, he's gone dark. And the people asking about if they can share his code have not indicated that he has licensed it to them for that purpose. So perhaps I can't say he's 100% not licensing it to anyone, but I do know he hasn't licensed it to me for redistribution, and no one else on this thread has indicated that he has licensed it to them for redistribution.

Again, I wish this was different. It's a great piece of code and very useful.

3 Likes

Fair enough, and I will have to retract what I said earlier that I thought it is OK to post it if it had attribution. While that is my OPINION, is not correct from a license holder standpoint. You are absolutely correct that if no license terms are specified then all rights are reserved by default.

Re-hosting/re-distribution, in that case (even with attribution) is not technically correct/allowed.

I learn something new every day, I guess. Thanks for educating me (seriously).

(I edited my earlier post to reflect the above)

4 Likes

This is correct. It came up when one of my first student had to publish his thesis. He needed to add data from his first publication (of which I was corresponding author), and the institution (Northwestern University) required him to get a release from the publisher to do so.

Which was essentially a circular email from him to the publisher to me back to the publisher and back to him. While he was sitting in an office 10 feet away from me :slight_smile:

6 Likes

Can anyone give any guide on how to create the remote control profiles? As in the protocols, rather than learning many many seperate "generic" codes.

My new ac that is daikan doesn't work with the one included unfortunately.

Shame cybrmage has left the project as he was very supportive for my other Mitsubishi ac that didn't work.

Edit: Seems if I learn a few codes with only one thing changed at once, then I manually put them into a spreadsheet separating them into blocks of hex code. Then look which areas change to determine which blocks are for which blocks.. Then edit the child device driver.. The editing of the child device app seems approachable at first glance... However I am sure it's not going to be straight forward for me to understand all the code as there is other padding in the ir codes which I'm not sure if they need to be changed.