Pull request #10974 introduces the @bitwarden/sdk-internal dependency which is needed to build the desktop client. The dependency contains a licence statement which contains the following clause:

You may not use this SDK to develop applications for use with software other than Bitwarden (including non-compatible implementations of Bitwarden) or to develop another SDK.

This violates freedom 0.

It is not possible to build desktop-v2024.10.0 (or, likely, current master) without removing this dependency.

  •  Andrew   ( @andrew_s@piefed.social ) 
    link
    fedilink
    English
    76
    edit-2
    1 month ago

    There’s a lot of drama in that Issue, and then, at the very end:

    Thanks for sharing your concerns here. We have been progressing use of our SDK in more use cases for our clients. However, our goal is to make sure that the SDK is used in a way that maintains GPL compatibility.

    the SDK and the client are two separate programs
    code for each program is in separate repositories
    the fact that the two programs communicate using standard protocols does not mean they are one program for purposes of GPLv3

    Being able to build the app as you are trying to do here is an issue we plan to resolve and is merely a bug.

  • Thanks for sharing your concerns here. We have been progressing use of our SDK in more use cases for our clients. However, our goal is to make sure that the SDK is used in a way that maintains GPL compatibility.

    • the SDK and the client are two separate programs
    • code for each program is in separate repositories
    • the fact that the two programs communicate using standard protocols does not mean they are one program for purposes of GPLv3

    Being able to build the app as you are trying to do here is an issue we plan to resolve and is merely a bug.

    I.e. “fuck you and your foss”

      • I doubt it. What’ll probably happen is them moving more and more of the logic into the SDK (or adding the back-end of new features there), and leaving the original app to be more or less an agpl-licensed ui, while the actual logic becomes source-available. Soo, somewhat red-hat-esque vibes: no-no, we don’t violate no stupid licenses, we just completely go against their spirit.

  •  mli   ( @mli@lemm.ee ) 
    link
    fedilink
    31
    edit-2
    1 month ago

    Apparently and according to Bitwardens post here, this is a “packaging bug” and will be resolved.

    Update: Bitwarden posted to X this evening to reaffirm that it’s a “packaging bug” and that “Bitwarden remains committed to the open source licensing model.”

    Let’s hope this is not just the PR compartment trying to make this look good.

    • I think even if they do reverse course or it was a genuine mistake, it’s easy to lose people’s trust forever, ESPECIALLY when it comes to something sensitive like storing ALL of your passwords.

    •  Atemu   ( @Atemu@lemmy.ml ) 
      link
      fedilink
      15
      edit-2
      1 month ago

      I don’t know what the heck you’re talking about.

      I see overwhelming evidence that they have intentionally made parts of the clients’ code proprietary. You can check the client code yourself (for now anyways) and convince yourself of the fact that the bw SDK code is in indeed integrated into the bitwarden clients’ code base.

      This is the license text of the sdk-internal used in 2024.10.1 (0.1.3): https://github.com/bitwarden/sdk/blob/16a8496bfb62d78c9692a44515f63e73248e7aab/LICENSE

      You can read that license text to convince yourself of the fact that it is absolutely proprietary.

      Here is also the CTO and founder of Bitwarden admitting that they have done it and are also attempting to subvert the GPL in using sdk-internal:

      https://github.com/bitwarden/clients/issues/11611#issuecomment-2424865225

      Hi @brjsp, Thanks for sharing your concerns here. We have been progressing use of our SDK in more use cases for our clients. However, our goal is to make sure that the SDK is used in a way that maintains GPL compatibility.

      • the SDK and the client are two separate programs
      • code for each program is in separate repositories
      • the fact that the two programs communicate using standard protocols does not mean they are one program for purposes of GPLv3

      Being able to build the app as you are trying to do here is an issue we plan to resolve and is merely a bug.

      (Emphasis mine.)

      The fluff about the ability to even build the app is secondary, the primary issue is that the Bitwarden clients are no longer free software. That fact is irrefutable.

    • Yes because it is about, ultimately, making the major clients incompatible with vaultwarden on both a legal and technical level.

      A likely outcome if they don’t reverse course is a split where FOSS Nerfs fork the clients and have to maintain their own versions. That’s the outcome Bitwarden wants. This reeks of a bazinga, “how dare they benefit from our work and take our users”, which is hilarious for a FOSS ecosystem that almost universally benefits corporations with free labor.

  • A few questions out of ignorance. How different is this to gitlab’s open core model? Is this a permanent change? Is the involvement of investors the root of this? Are we overreacting as it doesn’t meet our strict definition of foss?

    • How different is this to gitlab’s open core model?

      That’s a really good question that I don’t immediately have a satisfying answer to.

      There are some differences I can point out though:

      • Gitlab has demonstrated its commitment to keep the core of their product, though limited in features, free and open source. As of now, BW’s clients cannot even be compiled without the proprietary SDK anymore.
      • Gitlab was always a permissive license (MIT) and never attempted to subvert its original license terms
      • Gitlab-EE’s “closed” core is actually quite open (go read the source code) but still squarely in the proprietary camp because it requires you to have a valid subscription to exercise your freedoms.

      Is this a permanent change?

      It’d be quite trivial for them to do in technical terms: Either license the SDK as GPL or stop using it in the clients.

      I don’t see a reason for them to roll it back though. This was decided long ago and they explicitly decided to stray away from the status quo and make it closed source.

      The only thing I could see making them revert this would be public pressure. If they lose a sufficient amount of subscribers over this, that might make them reconsider. Honestly though by that time, the cat’s out of the bag and all the public goodwill and trust is gone.
      It’s honestly a bafflingly bad decision from even just a business perspective. I predict they’ll lose at least 20% but likely 30-50% of their subscribers to this.

      Is the involvement of investors the root of this?

      I find that likely. If it stinks, it’s usually something stinky’s fault.

      Are we overreacting as it doesn’t meet our strict definition of foss?

      They are attempting to subvert one of the FOSS licenses held in the highest regard. You cannot really be much more anti than this.

      An “honest” switch to completely proprietary licenses with a public announcement months prior would have been easier to accept.

  • How would the community’s reaction be if Bitwarden goes, “Look, we are moving more into the enterprise space, which means using proprietary software to service their needs. Our intention is to keep the enterprise and public versions sandboxed, but there is crossover, and we made a mistake.”? I really don’t care what they do in the enterprise space. Perhaps I’m an apologist, but seemingly more torn than most other posters.

  • i was about to replace my glorified encrypted text file for a password manager. guess relying on 3rd parties in a late-stage capitalist world is not a viable alternative.

    ill stay with my encrypted text file until they privatize encryption. by then ill probably be carving my passwords out on stone. or burning down the servers of these fucking pigs trying to make us identify ourselves for everything on the internet now.