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.

  • fireshell@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

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

    We have made some adjustments to how the SDK code is organized and packaged to allow you to build and run the app with only GPL/OSI licenses included. The sdk-internal package references in the clients now come from a new sdk-internal repository, which follows the licensing model we have historically used for all of our clients (see LICENSE_FAQ.md for more info). The sdk-internal reference only uses GPL licenses at this time. If the reference were to include Bitwarden License code in the future, we will provide a way to produce multiple build variants of the client, similar to what we do with web vault client builds.

    https://github.com/bitwarden/sdk-internal/commit/db648d7ea85878e9cce03283694d01d878481f6b

    Thank you to Bitwarden for relicensing a thing to GPLv3 License!

  • mli@lemm.ee
    link
    fedilink
    arrow-up
    50
    arrow-down
    1
    ·
    edit-2
    7 days 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.

    • ipkpjersi@lemmy.ml
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      6 days ago

      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.

  • wuphysics87@lemmy.ml
    link
    fedilink
    arrow-up
    13
    ·
    7 days ago

    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.

    • Bilb!@lem.monster
      link
      fedilink
      English
      arrow-up
      8
      ·
      7 days ago

      I have some! I use a self hosted vaultwarden and just two days ago I saw and installed KeyGuard out of curiosity. So far, I can say KeyGuard is a nicer looking and feeling app and… it works. So as long as their intentions are pure, you can use “bitwarden” without using any of their software or infrastructure.

      • smiletolerantly@awful.systems
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        7 days ago

        Just tried it, and it seems you can’t edit or add items without a premium subscription??

        Or am I missing something?

        Edit: Apparently only when installing via the Play Store. Very weird decision.

        • Bilb!@lem.monster
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          7 days ago

          Ah, yeah, I installed it from their github with obtainium. I think open source/libre app that charges people to install with the play store is a model a few others have tried as well.

          • smiletolerantly@awful.systems
            link
            fedilink
            arrow-up
            4
            ·
            7 days ago

            I don’t think it’s unreasonable to want to be paid, but a mandatory subscription when using the most common install method does irk me the wrong way

            • Bilb!@lem.monster
              link
              fedilink
              English
              arrow-up
              4
              ·
              7 days ago

              I haven’t looked into it at all, but that just seems so strange. Who would pay that when the original Bitwarden app is still there for free? Most people who would even know about KeyGuard would know how to install it from somewhere else. Is it essentially a donation?

    • midnightblue@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      ·
      7 days ago

      I just tried it out and I’m amazed. It looks and feels just like 1Password, my absolute favorite password manager (before I switched to Bitwarden, because 1Password is proprietary and pretty expensive)

      I definitely recommend it

    • NostraDavid@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      6 days ago

      Bitwarden has an export functionality. Export to JSON, import in Keepass, done.

      There’s KeePassXC if you want Linux support (keepass2 file is compat with XC variant).

      • daggermoon@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        6 days ago

        Thank you! It seems this whole thing was a misunderstanding however. It was an error on Bitwarden’s part that they intend to correct. I may still switch to kepassxc later on, mostly to save the money.

  • Danitos@reddthat.com
    link
    fedilink
    arrow-up
    8
    arrow-down
    5
    ·
    7 days ago

    @bitwarden bitwarden locked and limited conversation to collaborators

    They also locked the thread 16 hours ago (as of writing this comment), with no explanation.

    • asap@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      7 days ago

      The explanation is the second-to-last comment before it got locked. 🤦

      This hysteria is really stupid.

        • asap@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          2
          ·
          7 days ago

          That may or may not be the case, but the comment I replied to said they locked the thread with “no explanation”.

          • cmhe@lemmy.world
            link
            fedilink
            arrow-up
            6
            arrow-down
            1
            ·
            7 days ago

            I would say a proper explanation includes the goal you want to achieve, not just the statement that you think that you are allowed to do something.

      • Danitos@reddthat.com
        link
        fedilink
        arrow-up
        2
        ·
        6 days ago

        That’s the technical explanation for the changes, no an explanation for closing the discussion all together.

  • 31337@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    7 days ago

    I just exported my data from BitWarden and imported into ProtonPass. Was pretty easy. Hate the color palette of the app and browser extension though, lol.

      • 31337@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        7 days ago

        GPL’d clients. Everything is encrypted/decrypted on the client before sending/receiving to/from the server. I may later switch to a self-hosted solution, but don’t want to set one up right now (was using BitWarden’s cloud before).

  • fireshell@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    7 days ago

    pass is enough (+ xdotool + rofi + pass-menu). Synchronization via git or Syncthing.

        • fireshell@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          7 days ago

          besides everything else, the end of support for syncthing-android, yes, that’s a real blow to the gut.

      • fireshell@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        7 days ago

        Integration with Android

        The GnuPG implementation for Android is called OpenKeychain. To configure it, just go to the “key management” menu and import the previously created secret key. The only drawback of OpenKeychain for me personally is that there is no fingerprint unlocking.

        The pass implementation for Android is called android-password-store, or simply APS.

        Install and launch APS. Before synchronizing the password store, go to the “Settings” menu. There we will need the following items:

        1. Git server settings. The resulting URL should be the same as that specified on the repository page on github. Authorization type - OpenKeychain.

        2. Git utils. In this section, specify the username and email from the gpg key.

        3. OpenPGP provider. Select OpenKeychain.

        4. Autofill.

        Now you can clone. Select “clone from server” on the main screen, specify the desired location of the repository, check the git settings.

        Of course, pass is not that easy to set up. However, this price buys confidence that the tools we use will not one day be declared obsolete, will not change their data format, and will not be left without support.

      • fireshell@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        7 days ago

        A small script for entering passwords into various windows via rofi, I take passwords from pass.

        Example script:

        #!/bin/bash
        # Sample file rofi_pass.sh
        passwords=$(find /home/fireshell/.password-store/ -type f -name *.gpg)
        selected_pass=$(echo -e "$passwords" | awk -F "/" '{printf "%s > %s\n", $5, $6}' | rofi -dmenu -p Pass)
        item=$(echo "$selected_pass" | awk '{printf "%s/%s", $1, $3}' | sed 's/\.gpg//g')
        data=$(pass show $item)
        pass=$(echo -e "$data" | head -n1)
        login=$(echo -e "$data" | grep -e "^login: " | sed 's/^login: //g')
        xdotool type "$login"
        xdotool key Tab
        xdotool type "$pass"
        

        In awesome wm I bound a key that calls it like this:

        awful.key({ modkey}, "p", function () awful.spawn.with_shell("/home/fireshell/Scripts/rofi_pass.sh") end    ,
        {description = "rofi pass", group = "launcher"}),  
        

        I turn on the computer, press the key combination and the script works, or I run this script from the terminal (~/Scripts/rofi_pass.sh), select the password - it works (if necessary, pinentry is called to enter the main password), after that I press the key combination, select the desired entry

        passmenu: extremely useful and wonderful dmenu script.

  • preasket@lemy.lol
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    6 days ago

    We need a fully community run password manager with row-level server synchronisation between devices and shared vaults. Maybe a new client for the Bitwarden protocol with Vaultwarden or something new. E.g. 1password’s secret key as a second factor is, imho, their best feature. It pretty much eliminates the possibility of the vault being decrypted due to a weak master password.

  • Andrew@piefed.social
    link
    fedilink
    English
    arrow-up
    131
    arrow-down
    2
    ·
    edit-2
    8 days 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.

      • superkret@feddit.org
        link
        fedilink
        arrow-up
        120
        arrow-down
        1
        ·
        8 days ago

        They claim the SDK and Bitwarden are completely separate, so Bitwarden is still open source.

        The fact that the current version of Bitwarden doesn’t work at all without the SDK is just a bug, which will be fixed Soon™

        • CosmicTurtle0@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          29
          arrow-down
          3
          ·
          7 days ago

          Iirc, once reported, the project has 30 days to remedy or they are in violation of the license. They can’t even release a new version with a different license since this version is out under the GPL.

          • GissaMittJobb@lemmy.ml
            link
            fedilink
            arrow-up
            18
            ·
            7 days ago

            Given that they own all of the source code (CLA is required to contribute), they can just stop offering the code under GPL, unless they happen to have any GPL dependencies not under their control, in which case this would not be viable.

            • CosmicTurtle0@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              14
              arrow-down
              3
              ·
              7 days ago

              Switching licenses to future versions doesn’t invalidate previous versions released under GPL.

              I’m not a lawyer but I deal with OSS licenses for work and I don’t know if there’s ever been a case like this, that I can think of anyway.

              Their previous versions, still being under the GPL, would require them to release a change to make it usable on desktops. Again, I’m not a lawyer here but there is a lot of case law behind the GPL and I think the user who made the issue could take them to court to force them to make the change if they don’t respond in 30 days.

              • Markaos@lemmy.one
                link
                fedilink
                arrow-up
                8
                ·
                7 days ago

                Licensing the source as GPL doesn’t really force the copyright holder (which is 100% BitWarden due to their Contributors Agreement^*, no matter who contributed the code) to do anything - they are absolutely free to release binaries built on the same codebase as proprietary software without any mention of the GPL.

                For example if I write a hello world terminal program, release its source code under GPLv3 and then build it and give the built binary to you (and a permission to use it), you cannot force me to give you the source code for that build because I never gave you a GPL licensed binary.

                If you were to take my GPLv3 source code and distribute a build of it however, you would have to license your binaries under GPLv3, because that’s the terms of the license I provided the source code to you under. Your users would then have the right to request the source code of those binaries from you. And if you released the build under an incompatible license, I (but not the users) could sue you for violating my license.

                Their previous versions, still being under the GPL, would require them to release a change to make it usable on desktops.

                License violations are usually not resolved by making the violator comply retroactively, just going forward. And it’s the copyright holder (so BitWarden themselves) who needs to force the violator to comply.

                ^* this is the relevant part of the CA:

                By submitting a Contribution, you assign to Bitwarden all right, title, and interest in any copyright in the Contribution and you waive any rights, including any moral rights or database rights, that may affect our ownership of the copyright in the Contribution.

                It is followed by a workaround license for parts of the world where copyright cannot be given up.

              • Redjard@lemmy.dbzer0.com
                link
                fedilink
                arrow-up
                12
                ·
                7 days ago

                It means previous versions remain open, but ownership trumps any license restrictions.
                They don’t license the code to themselves, they just have it. And if they want to close source it they can.

                GPLv3 and copyleft only work to protect against non-owners doing that. CLA means a project is not strongly open source, the company doing that CLA can rugpull at any time.

                The fact a project even has a CLA should be extremely suspect, because this is exactly what you would use that for. To ensure you can harvest contributions and none of those contributers will stand in your way when you later burn the bridges and enshittify.

        • umbrella@lemmy.ml
          link
          fedilink
          arrow-up
          17
          ·
          7 days ago

          further translating it: they are closing it down but trying to make it look like they arent

        • Redjard@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          16
          ·
          7 days ago

          Also important to note is that they are creating the same license problems in other places.

          They broke f-droid builds 3 months ago and try to navigate users to their own repo now. Their own repo ofc not applying foss requirements, because the android app is no longer foss as of 3 months ago. Now the f-droid version is slowly going out of date, which creates a nice security risk for no reason other than their greed.

          Apparently they also closed-sourced their “convenient” npm Bitwarden module 2 months ago, using some hard to follow reference to a license file. Previously it was marked GPL3.

      • TheOubliette@lemmy.ml
        link
        fedilink
        arrow-up
        49
        arrow-down
        1
        ·
        7 days ago

        They’re trying to argue legal technicalities because acknowledging that they’re trying to reduce compatibility with servers like vaultwarden would be bad PR.

        Per their new license, anyone that uses their SDK to build a client cannot say, “this is for Bitwarden and compatible servers like vaultwarden”. They cannot support those other servers, per their license. Anyone that gets suckered into using their SDK now becomes a force against alternative implementations.

    • unbroken2030@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      15
      ·
      8 days ago

      There is always a very vocal minority itching to cause as much drama as possible. It’s very discouraging to see in general. I agree with and want more FOSS, but I’m not sure I’d ever consider making it myself; it’s not worth extra stress personally.

  • twirl7303@lemmy.world
    link
    fedilink
    arrow-up
    51
    ·
    7 days ago

    If this is not resolved I will likely switch to another service. Free software compatibility was the main reason I paid for bitwarden over its competitors.

    • AustralianSimon@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      10
      ·
      7 days ago

      What does this change for you?

      Seems to change nothing for all my devices which is a cheap offering at $10/year.

      • Croquette@sh.itjust.works
        link
        fedilink
        arrow-up
        41
        arrow-down
        1
        ·
        7 days ago

        The direction that the company is taking. Clearly that Bitwarden feels like other open source projects are diverting revenue from them.

        That’s a small step towards enshittification. They close this part of the software, then another part until slowly it is closed source.

        We’ve seen this move over and over.

        Stopping your business with Bitwarden over that issue sends a message that many customers don’t find this acceptable. If enough people stop using their service, they have a chance to backtrack. But even then, if they’ve done it once, they’ll try it again.

        Your current price is 10$/year now. But the moment a company tries to cull any open source of their project is the moment they try to cash it in.

      • youmaynotknow@lemmy.ml
        link
        fedilink
        arrow-up
        9
        arrow-down
        3
        ·
        7 days ago

        How will anyone know what they add to the code now? That’s the problem, and with our fucking passwords no less. They can fuck right off. In my environment alone they will be loosing upwards of 3,500 dollars yearly, 700,000 if I can convince my boss to dump them for the company as well.

        • kratoz29@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          7 days ago

          In my environment alone they will be loosing upwards of 3,500 dollars yearly, 700,000 if I can convince my boss to dump them for the company as well.

          And move to what?

          • youmaynotknow@lemmy.ml
            link
            fedilink
            arrow-up
            4
            ·
            7 days ago

            Anything, even Proton. The point is making a statement. If you start as OSS, you can fuck right off when you decide to come back sideways locking code down.

  • fl42v@lemmy.ml
    link
    fedilink
    arrow-up
    68
    arrow-down
    21
    ·
    8 days ago

    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”

      • fl42v@lemmy.ml
        link
        fedilink
        arrow-up
        33
        arrow-down
        2
        ·
        8 days ago

        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.

        • refalo@programming.dev
          link
          fedilink
          arrow-up
          8
          arrow-down
          3
          ·
          8 days ago

          go against their spirit

          I think this is more of a failure of the license itself. It’s not a good look to allow something explicitly and then go “no not like that!”

          • fl42v@lemmy.ml
            link
            fedilink
            arrow-up
            9
            ·
            edit-2
            7 days ago

            I’m not sure you can classify this as a failure, as explicitly prohibiting interfacing with non-agpl stuff would greatly limit the amount of stuff you can license under it, perhaps up to the point of making it generally unusable. As for “not like that”… Well, yeah. But you can’t deny it’s misleading, right? Free software kinda implies you can modify it whatever you want, and if it’s a free ui relying on a source-available middleware… Turns out, not so much.

            Although, a posdible solution would be require explicitly mentioning if you’re basically a front-end for something; but I’m not sure if it can be legally distinguished from the rest of use-cases.