How to support and maintain authors of custom code?

Really? How's the zigbee device driver coverage in home seer? :wink:

It is so covered you can't even see it :smile:

1 Like

I'm referring to how the platform operates and the drivers apps availability

Thank you for the offtopic, non constructive reaction. It really helps.

I know, I was being a bit of a smart arse. I am a home seer pro license owner. I will say that there are many strengths to that model. BUT I did feel like I was nickel and dimed to death on that platform. Not fun.

I might have stayed with it, though, had I not wanted to buy a bunch of zigbee devices.

Truth be told, hass.io is really more suited for how I want to use the system. I have no issues editing files or writing code. But every time I try it, the zigbee side is more trouble than it's worth. I keep checking back periodically though. :slight_smile:

2 Likes

As previously stated there is no 'help' to the issue arising, you will never rid the world of terrible people who do terrible things, that is a fantasy.

2 Likes

And like I said there are far bigger project who have dealt with these issues and still do. But as long as everybody reacts with a dismissal and stick their head in the sand, then you are right. I still have hope for a solution and (like the start of this issue) you are entitled to your opinion. It doesn't mean you have to stop me from looking for a solution. Especially as I think it's in your interest too.

2 Likes

I know exactly where you're coming from.

Maybe some "best-practices" should be documented for people who are using drivers/apps they find online would be useful.

  1. Make sure the code has an OSI Compatible License or you have some sort of financial arrangement with the author.
    • For example you likely don't need to worry about the license for a driver provided by the company you bought the device from.
  2. If the driver/app is on GitHub fork the repository and use that fork to pull in updates. This ensures that even if the source repository is deleted you still have access to the code and history.
  3. If you want to participate (ask for changes, file bugs, send pull requests) learn how to participate well.

I'm sure there are more items that could be added, but some rules of the road for using custom apps/drivers would probably be good for both the consumers and producers of that code.

2 Likes

Although I really appreciate your post and the information. The topic is actually about the author and not about the user.

Sure, but the reason why the author may need that is bad user behavior right? Users would benefit from better education on how to participate well results in a healthier OSS ecosystem. Sorry if I'm too off topic :slight_smile:

No worries, you might have a good point. And maybe even an angle I didn't think about.

I've been working professionally in OSS for close to 20 years now, a lot of the issues I've seen app/driver developers run into with users of that code are problems that all OSS runs into. Sadly it gets worse the more accessible the code is for use by people that have likely never programmed or really interacted with an OSS community before.

I do agree that a central "Hubitat OSS" repo would be a good approach to help alleviate some of the pain. It has some complexities, primarily it is a legal nightmare if contributors aren't willing to sign an ICLA giving the entity that runs the repo some level of control over the licensing of the code in the repo. On the plus side if you can get some folks with solid OSS backgrounds they are used to saying "I'd be happy to review a pull request for the feature you want" when people post FRs and get grumpy they aren't getting done.

There's a year-ago thread that is not dissimilar. I thought having a Hubitat Repo would be a great addition,

There's currently 13 members and 9 pending Invites.

It's quite simply, not used.. I think it was @mike.maxwell that said something like: there's a couple of attempts and the response has been "crickets"

I was hoping it would be step 1 of a 9 step effort to get some organization around the drivers and apps. I use it :smiley: it's great for ME. LOL

1 Like

And... How do you deal with cases like... 1) User requests new feature 2) user is told that the feature is not possible 3) user threatens that if the feature is not added then user will hunt down the developer and make his/her life a living hell.

And it's always fun to deal with users that want monetary compensation because the feature you just removed (because the device no longer supports it) was the only reason they bought the controller...

And the real kicker is having to deal with this type of user on a platform that is actively hostile to developers and usurps control of your code without warning (No... Not Hubitat, but a platform with a system in place to allow developers to distribute their code).

Sorry... Kinda turned into a rant 8-(

Suffice it to say... Even with systems in place, there really is not fool-proof system...

Well, maybe that serves as an argument that it's not the right solution. I don't think it would have helped Andy in the current issue either. Maybe the solution lies in a piece of documentation about custom apps and a disclaimer (about the responsibilities of the author, or lack of it when it suits he/her).

And yes, maybe there is no total solution to the issues. But we could at least try to make it all a better place ad maybe assist in dealing with issues (since we can't all code, we can at least help with the rest).

I think the reason there are so many replies to your posts is that you haven't been clear enough on exactly what you are trying to solve.

If you are looking for a way to remove unrealistic expectations from entitled people, the consensus is...not going to happen...people are people...and right now @Cobra seems to be having a people problem.

Otherwise, please be as specific as possible as to what the exact problem/issue you are attempting to resolve. I appreciate what you are trying to do but also want the discussion to be productive.

3 Likes

No question.

The point is, attempts HAVE been made. That's all. We now know of two things that don't work.

Forum moderation should ban users that behave like that, Github lets you block users as well.

Sure, and they can complain all they want, if it becomes harassing they should be banned/blocked.

If you are releasing code under an OSI approved license you need to understand what level of control you give. If you don't want someone to copy your code and use it commercially use a license then license it under GPLv3. People on the forums could freely use it, they can modify it for personal use without having to publish their modifications. Big Company could NOT copy any of that code for use in their product without getting a proprietary license from you.

No worries about the rant, this is a frustrating topic, we can try to improve user behavior and then the other side is people that contribute have to deal with angry/annoyed/frustrated users. Saying NO becomes a common response when running a OSS project.

1 Like

It's a good as Hubitat... because my plugin integrates Hubitat devices :smile: