The future of Objection.js #2463
Replies: 57 comments 6 replies
-
Always appreciate all your work on Objection, Sami— needless to say it's a fantastic take on the ORM and has been one of my favorite tools in app building. So cheers, and thanks 🍻 I am hoping we can have some discussion here about next steps. In my view Vincit might be the natural home for this project given the project's history, and having a clear indication from Vincit about whether they are open to that would be really useful! We lean on Objection in hapi pal, and while I can't throw my hat in the ring for developing Objection, I intend to support whomever may take the reigns and continue to remain involved in the ecosystem! |
Beta Was this translation helpful? Give feedback.
-
I too would like to express my appreciation of the work you have done on this well crafted library @koskimas. As an OSS developer of another library (paper.js) I understand your reasoning too well, yet I am sad to read that you have decided to stop working on Objection. I cannot judge the challenge of updating the TypeScript typings. Is there an open issue that outlines the current short-comings? I am curious… And I do wonder what an Objection rewrite in TS on top of kysely would feel like. Regarding the quest for future maintainers, I really hope someone can be found. I think it would be fine if the library entered maintenance mode where bugs are fixed and dependencies are kept up to date, but no or only few new major features are added. I am happy to volunteer putting in time to help out, since we have an interest in keeping this library alive for our work at Lineto.com where it is in heavy use. Have you reached out to the folks at Vincit about this yet, Sami? |
Beta Was this translation helpful? Give feedback.
-
As a long time user of objection on several startups and projects @koskimas, you have my thanks also. Objection is beautifully designed and written and has been an absolute joy to work with. I hope maintainers can be found and Objection can continue with a similar philosophy. @koskimas Good luck in all you do. |
Beta Was this translation helpful? Give feedback.
-
Hello @koskimas, completely understandable decision that you cannot maintain such a large library for free. I have had quite a nice time with the library and thank you for maintaining it all this time. There are a couple commits in the master branch that have never seen a release, and #2307 in particular would be nice for those hoping to ride the library off into the sunset for a little while longer. It would be nice to have this one last commit included in a release so projects can continue to use objection with the latest Typescript versions, even if Objection isn't getting further updates. Of course if you don't feel like making any more releases, I understand. I will patch the package myself locally or make a private fork just for my project which is using Objection. Thanks again! |
Beta Was this translation helpful? Give feedback.
-
First of all - thank you for all the work you've done to create & maintain Objection so far. I've done extensive research and it still seems to be the best Node.js ORM there is in terms of features and performance. It's an incredible piece of work. Ghost has been looking to make the switch from Bookshelf for a year, but with the quietness on the repo we decided to prioritise other things and wait and see what happened for a bit. It's great to have the situation out in the open. I am completely understanding of why you don't want to put the work in for free anymore, but I am curious, if funding existed, would that change things for you even short term? This is such a great project, it would be awesome if it could get a happy send off to new maintainers in a good state and with knowledge transfer. I'm also curious if you've reached out to Vincit or if there's anyone there you can ping on this thread as they do seem like they would be the natural overseers... but also maybe a group could be formed? |
Beta Was this translation helpful? Give feedback.
-
Thanks for your fantastic work. I agree with @lehni to put this into maintenance mode is good enough for most of us. |
Beta Was this translation helpful? Give feedback.
-
Just saw the Reddit thread that lead me back here. Thanks @koskimas for all the work on ObjectionJS, I picked up the library almost 4 years ago and has been a staple in my several projects. But I totally understand the last two years Typescript is everywhere and first-class support is necessary. Excited to see the work on Kysely and will check it out. Best of luck! 🙌🏻 |
Beta Was this translation helpful? Give feedback.
-
@koskimas thank you for all your work, being using objection and recommending it during all years of usage. I bet you even remember me from model snake/camel-case conversion request like 5 years ago (man, time runs so fast) 😅 Huge love and good luck in all your projects, totally understand your OSS pressure |
Beta Was this translation helpful? Give feedback.
-
Thank you @koskimas for your hard work. Objection.js was the only ORM that made sense. I was using several other ORMs and jumped into Objection because it was the only one that had a really good design. I was recommending and using it for countless projects now during my career. Its sad to see its getting obsolete. But I hope there will be a better one with Kysely Good luck and thanks again |
Beta Was this translation helpful? Give feedback.
-
Thanks @koskimas for all the hard work and the creativity around Objection Js, Objection Js is amazing, and easy to use✌️ |
Beta Was this translation helpful? Give feedback.
-
@koskimas Could I ask for npm publish permissions? I barely have time to maintain knex.js these days, but I can review and publish some fixes for Objection here and there, and I already have write permissions on the repo itself |
Beta Was this translation helpful? Give feedback.
-
Why not set up CI action to publish npm automatically on git tag push? example: I could send a PR if there's interest. |
Beta Was this translation helpful? Give feedback.
-
@koskimas thanks also from my side - Objection.js has helped us a long way forward. I hope the libary finds a maintainer, but luckily i has not needed that much active maintenance to stay working (it is the new features/refactoring to TS that takes the effort). Any chances of donating it to Linux Foundation or such, in spirit of Moment.js? I'm not sure if it finds a maintainer there, but definitely worth checking out. |
Beta Was this translation helpful? Give feedback.
-
@kibertoad Sure! What's your npm user? |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
-
Not sure if this is a good idea but it might help to include that Objection is actively searching for maintainers / lead maintainer with a link to this thread in release notes for new versions moving forward? I feel like a lot of people don't check the issues tab unless they run into something on their project |
Beta Was this translation helpful? Give feedback.
-
I'm not sure that's a good way to recruit good maintainer. Ideally it should be someone from the community, who has been contributing for a while already. |
Beta Was this translation helpful? Give feedback.
-
Here's what you can do: convince your employer/people in charge to pay like 50€ a month to 10 libraries your company uses the most. That's NOTHING compared to the value you get. It might just keep the projects alive. It might make OSS development somewhat more sustainable. |
Beta Was this translation helpful? Give feedback.
-
Hope @koskimas finds sometime soon, until then @kibertoad is our star. |
Beta Was this translation helpful? Give feedback.
-
I am unsure but why OSS communities not try to operate like subsriber-creator platform like any of media streaming (e.g. YouTube, etc.)? |
Beta Was this translation helpful? Give feedback.
-
@alvinlys OSS communities usually do have it (through Github Sponsors or the other options I mentioned in the thread above) but the issue they have is most people who use it don't donate or donations are insufficient to make it sustainable. Money itself is also only one problem like koskimas explained. The main problem for him (and many other open source maintainers) is time & related to that, a community of active maintainers to help reduce the burden. Youtube is probably a bad example to use though as it is a free entertainment platform where Google pays creators (comparitively) well even if they don't get donations. Unless GitHub/Microsoft decides to do a similar creator program, the main problem for OSS is a little different since it is entirely donation based. Plus once you post a video, it's done but if you publish a package, the issues pour in. |
Beta Was this translation helpful? Give feedback.
-
@flipace would you like to work together on bringing some of these features over to objection? I've looked through your repo and they look good! I think the interesting ones are: https://github.com/ovos/objection.js/commits/upgrade-typescript-knex-node-types Did I miss anything? If you're interested, feel free to start creating merge requests for these so I can start reviewing them. |
Beta Was this translation helpful? Give feedback.
-
@lehni I'll talk with @falkenhawk next week, and we should probably be able to create some PRs for those. A few of our changes are rather specific to our use case (such as ovos#14), but maybe they could still be interesting for some 👍 |
Beta Was this translation helpful? Give feedback.
-
I gave @lehni admin access to the repo as well. I've worked with him on another project and he's been contributing to objection for some years already. He's a brilliant developer and I trust him. @lehni there's no pressure to "take over" or anything, but feel free to do so if you like/have time. |
Beta Was this translation helpful? Give feedback.
-
Thank you @koskimas for the trust, the kind words and the introduction! Since we are heavily relying on objection.js at lineto.com, I am happy to keep helping out with maintaining the library for the foreseeable future. I don't plan on implementing any major new features, but will work on keeping things up to date and fix bugs as we encounter them. I will also keep an eye on issues and PRs and try my best to review and merge them where I see fit. I've done a first round of that over the past days, luckily there aren't that many pending issues and PRs, which I see as a sign of the quality of the library itself. Thank you for all your hard work on this great library, and all the best with your new adventures! |
Beta Was this translation helpful? Give feedback.
-
Found another thing that might help with reducing workload: https://bountysource.com/ People could post their feature requests on there with a bounty. Someone picks up the issue and PRs and that way whoever picks up would only have to review it? Still would be a lot of work with reviewing PRs but might reduce the workload on the coding side of it. |
Beta Was this translation helpful? Give feedback.
-
@lehni I've set up PRs for all our remaining customisations and fixes. btw, would it make sense perhaps to enable Discussions tab for this repo? |
Beta Was this translation helpful? Give feedback.
-
I like discussions because issues often have complex templates so starting a new issue can be much more time consuming than asking some simple question in a discussion thread. |
Beta Was this translation helpful? Give feedback.
-
Great, thank you @falkenhawk! The PRs look great. I will review them soon and get back to you. |
Beta Was this translation helpful? Give feedback.
-
I know I'm late to the party here, but thank you @koskimas (and @kibertoad and @lehni and all other contributors) for Objection.js and all the hard work over the years! Objection.js is a great project and is really well designed. Like so many others have already stated, it's been a joy to work with. Once I'm finally forced to use TypeScript (ugh), I will start new projects with Kysely, which appears to be knex for TypeScript. Thanks again, and good luck to everyone! P.S. RIP JavaScript 😢 |
Beta Was this translation helpful? Give feedback.
-
Hello everyone!
As you may have noticed, the development of Objection has been very slow this year. That's because I've been the only active long-term developer since I created this project and I just haven't worked on it lately.
The main reason for this is that Objection's typescript typings would need a full rewrite for them to become competitive and up to today's high standards for typescript codebases. I simply don't have time, or quite frankly the interest, to do that. Objection was designed before typescript was widely adopted and I made design choices that, even today, are very difficult to express using typescript.
This puts Objection in a difficult spot since there is no other active developer that could take over. Even if I found one, it would take a long time and a large amount of contributions before I could trust that person enough to give him/her access to Objection's npm project. Realistically, I just don't see this happening. Maybe someone from Vincit could step in 😉
I understand that Objection has relatively large amount of users and projects that depend on it. But since I left Vincit several years ago, I've maintained Objection on my spare time for free. This is the problem with OSS development. The bus factor is high. Nobody is getting paid.
I'm happy to transfer this project to someone else's care if that can somehow be arranged, but other than that, I won't be working on Objection anymore.
Beta Was this translation helpful? Give feedback.
All reactions