-
Notifications
You must be signed in to change notification settings - Fork 639
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The future of Objection.js #2335
Comments
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! |
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? |
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. |
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! |
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? |
Thanks for your fantastic work. I agree with @lehni to put this into maintenance mode is good enough for most of us. |
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! 🙌🏻 |
@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 |
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 |
Thanks @koskimas for all the hard work and the creativity around Objection Js, Objection Js is amazing, and easy to use✌️ |
@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 |
Why not set up CI action to publish npm automatically on git tag push? example: I could send a PR if there's interest. |
@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. |
@kibertoad Sure! What's your npm user? |
This comment was marked as off-topic.
This comment was marked as off-topic.
@koskimas it's kibertoad. sorry, missed last invite, could you please repeat it? I'll do the release then. |
@kibertoad I sent a new invite |
It would be a shame to see objection going obsolete/deprecated, it is the right compromise querybuilder/orm which is really necessary when you have to deal a lot with edge cases and more complicated stuff but still want all the advantages of an orm. |
@kibertoad please let us know if you decided against taking over. In that case, we should keep looking for somebody else to take care of the maintenance. Let's not let this beautiful library wither and die. |
Just saw this and I think this might be suited for https://github.com/pickhardt/maintainers-wanted (EDIT: Added!). Some other promising ones might be:
@koskimas is there a monthly donation amount that would maybe make it viable for you to continue sustaining the project? I bet there'd be a decent number of people/companies here who would be willing to donate to keep the project maintained (esp since I saw some big names in the who uses ObjectionJS thread haha). If that's not on the table at all I completely understand and I'll probably try to hep recruit maintainers! I just started React Native last year and either way, I have really really appreciated using ObjectionJS and truly hope that someone steps up to maintain it as it has been an absolute pleasure to use. Wishing you all the best in future endeavors! EDIT: Not sure if this is another option to get income on the package as well: https://tidelift.com/about/lifter. I did a search for objection and it said no subscribers yet but seems like no harm in signing up. Github Sponsors would also probably be good for whoever decides to end up maintaining this full time |
We at ovos are maintaining our own fork of objection since quite some time. It's tricky to put time into maintenance of something that does not pay the bills, but since we're anyways working on maintaining objection for ourselves we could probably help at least with pushing new releases and some bugfixes. It's a pity, @koskimas was always open to suggestions and was maintaining objection in such a chilled manner, really a gem. |
If you are like me and you're looking for something typesafe, but as close to objection.js as possible, you should look at https://orchid-orm.netlify.app/guide/ It's relatively new, not battleproven yet, but the creator is very responsive so I am confident it will get there in time. |
Noticed that axios uses https://opencollective.com for fundraising so that might be a good option for Objection.js as well! I'll keep an eye out for more ways to get more maintainers for the package as well |
I'll take that as you're not interested? |
@evilbuck I think his reply was already in #2335 (comment)
The only way to make objection.js sustainable (time wise) is to probably get a larger team of maintainers around the project. That way each person would have to dedicate less time for it individually. A consistent flow of funding would probably help with attracting that maintainer base but it's no guarantee. What were you intending on suggesting tho? |
That comment didn't answer the question. I based my questions on that statement. Given the stipulation that he would need to quit his day job, I wanted to know what it would take to quit his day job.
I'd suggest forming an org of some kind and depositing the capital required to cover salaries + other overhead. Whether it's sponsorship or fundraising. There may already be OSS vehicles for this sort of thing. I honestly haven't looked into it much. At least cover @koskimas compensation as well as other maintainers. Have enough in a war chest to cover salaries for a reasonable length of time deemed acceptable by @koskimas to remove the "riskiness" from it. Of course, this is all moot if @koskimas isn't interested in actually pursuing this, regardless of removing risk. |
I just don't see it happening. If you look at the few people that make a good living maintaining OSS project like the absolute OSS superstar Sindre Sorhus, you'll see that they maintain hundreds of projects that are waaaaay more popular than objection. It makes zero sense to think I would be able to earn enough maintaining just objection. And even if that was somehow possible (it's not) I don't know if I'd still be interested. I love my current job. |
thanks for the response. I was just trying to help solve the problem at hand. If you're not interested, it's a hard sell for something you ultimately don't want to do. Thanks for all your hard work and effort. |
Thank YOU for trying, I really appreciate the idea! But the facts just don't support it. There just isn't a way for small projects like objection. |
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 |
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. |
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. |
Hope @koskimas finds sometime soon, until then @kibertoad is our star. |
I am unsure but why OSS communities not try to operate like subsriber-creator platform like any of media streaming (e.g. YouTube, etc.)? |
@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. |
@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. |
@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 👍 |
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! |
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. |
@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? |
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. |
Great, thank you @falkenhawk! The PRs look great. I will review them soon and get back to you. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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.
The text was updated successfully, but these errors were encountered: