Buttercup General Update: Q4/2024 #1387
Replies: 3 comments 1 reply
-
Hey there and thanks for the update! I use Buttercup as my daily driver and like it quite a bit despite a couple UX rough edges here and there. I love the simplicity of it storing all my stuff right into a self-contained, encrypted file that I can put wherever I need without having to worry about servers and database backups, etc. Anyway, really appreciate your work and I totally understand life and sustainability challenges. Good luck with the re-organization. 🚀 PS: I think the monorepo is a good idea. In my experience it's much nicer to work with monorepos and can really take some management / orchestration load off. I even have monorepos with multiple programming languages in it. 😁 |
Beta Was this translation helpful? Give feedback.
-
You have a great project that is used by many users. The project means a lot to the community. I hope that more people with the knowledge you need will join you and that the same fire that got you started with this great software will continue to burn to keep it alive. |
Beta Was this translation helpful? Give feedback.
-
I came across buttercup while looking for a good, easy-to-use password manager for the Schwiering Foundation. I think you're doing a great job that shouldn't be lost. Several volunteers work in the office under the same Windows account, with access secured by mobile devices. The helpers don't know any passwords. It would be a great advantage for me if buttercup could also use a key file to open the safe. I'm eagerly awaiting the self-hosted version of buttercup. Thank you very much for your valuable work! Keep up the good work. |
Beta Was this translation helpful? Give feedback.
-
So it's been a while since I addressed all of Buttercup's users, contributors and those curious enough to be reading this: it's time I gave an update on Buttercup's direction and momentum which have been disappointing as of late. For that I'm sorry - it's not at all what I want for this project; not the speed I want it to progress at. Buttercup is lacking crucial features that'd make it more competitive in the password management landscape. I'd have wanted this software to be more already.. to boast more.
I'm not oblivious to how much work was involved in getting here.. but I have forgotten how much work it takes to keep it going. Way too much for me to handle alone, and that's only if the motivation keeps up, which it doesn't sometimes. I have a family, a full time job (via a consultancy I founded), a dog and my family living across the ocean in Australia (I'm based in Finland).. so I have a lot going on that takes my attention before I get to this project. I struggle to give Buttercup the time it deserves. I may not feel like I owe it to everyone here that uses it.. it's free software after all.. but I do feel a responsibility in providing it. I like that feeling a lot and can't imagine being without it. That being said, in the mix of things right now, Buttercup is not working out. Something needs to change.
I have had the odd thought here and there with leaving the project. Soft burn out or just feelings of hopelessness. I wonder if my time would be better used on other software or projects. I usually discuss these things with family and friends (go me being emotionally healthy on this 😅), and they always end up giving me great feedback and telling me the things I need to hear. They can see it sometimes takes a toll and I do believe that they have my best interests at heart. But the consistent outcome of these conversations is that I should continue Buttercup. It's always been like that. When I'm struggling the most this is what gives me that little bump in the right direction.
Don't get me wrong: I do get a fair bit from the community too. I've met some of Buttercup's users at conferences and the like, and I get some heartwarming feedback here on GitHub too. These things give me a boost. Thank you.
But enough of the emotional backstory and where my mind's been at. I'm actually ok and I'm not suffering from depression or burn out - many others are, and need help, and I'd hope that everyone reading this would reach out and give the kind words needed (amongst other things) to maintainers that really need the reinforcement. This post is actually going somewhere I promise - I just wanted to clarify my situation as the current sole maintainer of Buttercup. This being one of the biggest issues I feel the project is facing right now.
So what would need to change for Buttercup to get where it needs to be? What does it need to be? I feel like password management is a great keyword for SEO but it doesn't describe what Buttercup is. The term "vault" is better: a place to keep things secret and safe. Buttercup provides the encrypted database aspect of a password manager, but it lacks some important usability and interoperability traits that others in the space have: passkeys, sharing, exposure detection, emergency access, a deadman switch, and the list goes on. So it needs these things and more imo. How do we get these? There's a ton of work involved in adding them.. and there's not enough of me and my spare time to do them either. There's a lot of friction with running a project like this because there's a lot of surface area between Buttercup and third parties: iOS, Android, Chrome, Firefox, Edge, Windows, Mac, Linux etc.. these surfaces require constant fixes and updates for Buttercup to keep working because their maintainers keep updating them and breaking existing functionality. This takes most of my time, negating any effort I want to spend on adding new features. What exacerbates this is the fact that Buttercup is made up of quite a number of repositories. Making a small change in a dependency and then testing and releasing the downstream consumers is painful and tedious. An issue I didn't think would really affect Buttercup early on, but that I've recently come to notice with each commit I push.
So one way to reduce this friction would be to upgrade the workflow to enable faster iterations of new features and bug fixes. I've had the idea that moving to a monorepo would be helpful for a longer period now, and I think it's about time to try it. This isn't trivial either and will take some time. I'll touch on this again shortly.
There is also a lot of work involved fixing or improving UX, which is currently confusing and sometimes bug ridden or incomplete. So there's UI work to be done, especially on the desktop and mobile apps. The UI being sparsely implemented being another issue that'd be solved by using a monorepo- somewhat.
The larger issue is still the amount of work needed, and there's a couple of different ways to solve this. One is obviously recruiting help from other likeminded engineers, though this in my experience is extremely difficult as devs with enough experience to contribute at this level usually have their own pet project. Another option here is to hire help.. and this is probably something I'll look into in the near future. Having new help enter the picture can be troublesome in itself as onboarding someone in how Buttercup works, and is deployed, is strained by how fractured the platform is. Again, having a monorepo here would probably help.
What does all this mean? The big take away I want to leave everyone with here is that I need to focus on getting Buttercup on the right track, and will be abstaining from handling bug fixes, adding new features, responding to issues etc. - it might feel like I've already been doing this too, given how little activity I've had here recently. But if I can assure myself that I won't be handling any of the maintenance chores I'd otherwise have to get to, I can see myself getting enough time and motivation to perform the following:
What does this mean for the project in the meantime? Well, not so much. Buttercup will stay right here. You can download and use it, but expect far fewer releases or updates for the coming quarter or so. I'll try to update here as things progress. Perhaps even a monthly update with how things are evolving.
Can you help? Yes.. absolutely! When the monorepo is made public any bug fixes you can help with, or feature implementation, would be greatly appreciated. Know of someone wanting to get their name behind a piece of software used by tens of thousands of people? Introduce them to Buttercup. Having people want to help organise the project into its new form would be amazing, and those willing and able to devote some hours a week would skip the wait time as we'd bring them in to the organisation.
I think having everything organised a bit better is going to make contributing a lot easier as well. So I'm honestly excited about approaching this from another direction. Buttercup will keep going and keep growing.. but we need some time with the curtains closed to clean up. Please bear with us ❤️✌️
Beta Was this translation helpful? Give feedback.
All reactions