Consider to avoid adding library dependencies from frenck

frenck threatens down stream packagers with changing licenses to proprietary ones to forbid re-distributing. Hence to keep the home-assistant free-software it would be better not increase the reliance on his projects

== Context ==

5 Likes

More context: Remove `python3Packages.ambee` package Ā· Issue #126677 Ā· NixOS/nixpkgs Ā· GitHub Remove `python3Packages.wled` package Ā· Issue #126679 Ā· NixOS/nixpkgs Ā· GitHub

1 Like

I asked nicely. Instead, you instantly bogged down the discussion and decided to merge a broken version.

My packages are distributed on PyPi and available for everybody to use. Re-distributing hurts in this case IMHO, as people may think your distribution is supported, but isnā€™t.

That applies to the Home Assistant project repackaged there as well. It isnā€™t supported by the Home Assistant project. Users should avoid that.

Nevertheless, considering you have managed to just go, kill discussion and merge a broken version. That makes me now to have decided that I personally rather no longer be affiliated/associated/mentioned or to be found with your project.

Additionally, the reasoning provided that it is needed to distribute a Home Assistant package for your distribution is incorrect. A lot of dependencies are not distributed, so that doesnā€™t make sense.

Please remove packages Iā€™ve personally build and maintain from your index (as requested).

Thank you for honoring the wishes of the author of the source.

ā€¦/Frenck

Iā€™m just curious, staying focused on the core issue. I think you are saying this, but I am trying to grok it. It the issue that this NixOS project is taking a ā€˜snapshot in timeā€™ of your code and bundling that frozen version in their project. And then referencing your name and project for this code in their project. Which, I am guessing, does not get updated when you update your repositories? Thanks for educating me!

We have a bot that automates updating packages. We at least two maintainers that keep home-assistant up-to-date (only a few days at most behind the official release). They run a script to make sure that our python packages are on the same level as home-assistant and also enable tests as much as possible. Pip is not enough to reach the reproducibility, we can achieve with NixOS. Many dependencies on C libraries and external programs cannot be managed through this. Now frenks libraries are mostly python only but special casing those just for the sake of it would cause would break the model we use in NixOS to manage home-assistant.

3 Likes

Please remove my packages as requested.

Thanks :+1:

ā€¦/Frenck

In a conciliatory motion, Iā€™d hope we can find a way to satify all stakeholders:

  • The authorā€™s needs
  • The userā€™s needs

I think it is important to acknowledge that in case of clash, in open source the userā€™s interests typically prevail. But I think everyone is willing to peak through the statements and consider the true needs. Until now, we are still at the stage of understanding.

Due to the nature of how Nix community works, this controversy will only be resolvable through mutual understanding. Formal requests, Iā€™m afraid, wonā€™t get us there.

3 Likes

To add to the point see:

https://github.com/NixOS/nixpkgs/blob/9b69650e6ad76a413f58f449313bf4623787e2b4/pkgs/servers/home-assistant/component-packages.nix#L6

There are many parts not packaged either (nicely visible by the comment of the missing package on each line) so a missing package doesnā€™t seem to hurt your model at all.
Additionally, most packages provided by Home Assistant integrations do not require compilation of any kind and are pure Python.

I see, let me quickly put forth the user story:

As a normal nix user, I build my environment declaratively (and reproducibly). This is what I truely care for. I want to extend that ā€œway of lifeā€ onto home automation, therefore I can submit packaging and installing instructions to nixpkgs to enjoy the fruits of your work in ā€œmy way of lifeā€.

A slight variant:

Iā€™m part of an incredibly helpful community and by sharing my instructions with others, we can have fun together and learn from each other.

Another slight (exaggerating) variant:

Iā€™m so much ideologized by my ā€œway of lifeā€, that I developed missionary fervor and go out into the world to cristianize the pagans.

(I think we want to shield all ā€œpagansā€ from this horror :smile: )

1 Like

Let me get this straightā€¦ Youā€™re upset that he doesnā€™t want you to use a dependency he created, so you lock down the GitHub PR. Then you merge what he created against his request. Then come brigading here to ā€˜warnā€™ everyone with multiple newly created accountsā€¦

Maybe if you didnā€™t lock youā€™re own PRs you could continue acting like children there instead of bringing your drama to these forums.

2 Likes

@petro Correct, I think you accurately exaggerate the emotions involved. :smile:

1 Like

I think the emotion involved is mainly from the NixOS project in that case; As for me there is not much emotion to it and a simple request:

Please remove my packages from your project.

Thanks in advance :+1:

ā€¦/Frenck

1 Like

Then whatā€™s the point? Just do as he asks. From an outside standpoint, it seems like heā€™s being reasonableā€¦

Shall I explain? I will try. Iā€™m really trying to moderate and generate mutual understanding.

The nix community is not convinced to remove the package instructions so nobody will probably bother to prepare a PR and merge it.

There is nobody who can make that call, decision making is completely decentral.

So while a formal request might be heard it is not very likely that it will be acted upon.

This is why I expressed that the only solution is mutual understanding. (And maybe also the best solution.)


Iā€™m pretty sure ther are legit stakeholder interests on both sides. We should bother to uncover them.

1 Like

While Iā€™m inclined to agree with you, the way that OP is handling this is poor to say the least.

3 Likes

Emotions, and I apologize on behalf of the incendiary partsā€¦ After cooling off, all parties will see things differently.

2 Likes

as people may think your distribution is supported, but isnā€™t.

Why should they think that? NixOS is not advertising anywhere that it is an official redistribution method and receives upstream support. Home Assistant is also not advertising anywhere that NixOS is an official supported method to install it. If something is broken then people should first contact NixOS and if the maintainers come to the conclusion that it is not a packaging bug caused by NixOS and the issue is relevant to other users an upstream issue/patch is created. NixOS is a distribution mainly targeted at developers right now and are expected to debug such issues without any extra help.

That applies to the Home Assistant project repackaged there as well. It isnā€™t supported by the Home Assistant project. Users should avoid that.

I can understand that from your support point that you donā€™t want to deal with those questions but I for myself I rather deal with the extra packaging burden than maintaining a piece of software through pip installs which are not reproducible and donā€™t integrate well with NixOS.

Additionally, the reasoning provided that it is needed to distribute a Home Assistant package for your distribution is incorrect. A lot of dependencies are not distributed, so that doesnā€™t make sense.

It is distributed very similar to all other packages on NixOS which are a bit special compared to other distros and most of the work is dealt by NixOS maintainers. NixOS does not contain all packages yet but it is being worked on including all because some extra meta data is required to package them correct because just doing pip install does not work for NixOS.

Just do as he asks. From an outside standpoint, it seems like heā€™s being reasonableā€¦

NixOS is a very different OS compared to many other Linux OSā€™s. You cannot just do pip install and things work. The easiest way to get a python package working is to create a package definition and upstream it if you like. The NixOS project accepts both open source licensed and unfree packages but open source ones are always preferred. An alternative would be to use a Docker Image but many people including me donā€™t like that for various reasons I will not dig into now.

Sure, we can remove the package definitions but this will most likely just fork home-assistant into another repo from where it is very easy to integrate into NixOS.

Also from a legal standpoint NixOS is allowed to distribute the packages as they are all licensed under MIT and though allows us to modify them in any way as long as we preserve credit and the license.

2 Likes

I think than rather to go lost in the nitty gritty details right away, we should state the needs.

@frenck You say ā€œplease removeā€, what goals (for yourselve or others) do you want to achieve?

(It will make things a lot easier to allow us to see what you see with our own eyes)

Please respect my wishes to remove my packages from your index.

Thank you in advance.

:+1:

I want to achieve my packages are removed from your index.

It would be nice if you could honor my wishes.

Thanks in advance :+1:

ā€¦/Frenck