-
-
Couldn't load subscription status.
- Fork 3.5k
Call for Maintainers #1678
-
I'm looking for new maintainers of Selectize. In the coming weeks/days, I'll be moving it to an organization account so other people can take care of it. The reasons behind the move (+ some other thoughts):
- Selectize has been a personal project of mine – it's received no sponsorship and has been a "free time" project. I've been spread thin and it's been increasingly difficult to maintain as my available time has dwindled. I've been heads-down working Natural Atlas.
- jQuery plugins for UI components have always been a hack. I'm really stoked by what React is doing in this space. I highly recommend checking out @JedWatson's react-select project (even cooler given the fact Jed has contributed to Selectize in the past).
- Lastly: open-source burnout. I work on other OSS projects and jQuery plugins seem to be the most pain afflicting. The burnout stems from a few factors:
- Everyone has a different idea of how it should work. Different opinions and hard choices are great – but when the stream of people coming into Issues wanting you to drop everything else to make it their way is incessant, it gets old.
- Entitlement around new features, changes, and support. See bullet 1.
- Not enough ingenuity from users (i.e. the Stack Overflow effect). If a style is slightly off, change it for the project. If something minor is broken, fix it and make a pull request that makes obvious what the problem is, how it's solved, and ideally some tests to make sure it doesn't regress. This is an open source project, not a company's product.
- Front-end UI has a culture around un-tested code – after all, it's hard. Regardless, pull requests with tests are extremely rare, and most pull requests come in half-baked. By "half-baked" I mean they come with unintended consequences.
- The readme is ignored: updating the dist files in a PR has never been the right thing to do.
- Too many middle-of-the-night support requests.
What I'm mainly looking for in maintainer(s):
- Attention to detail. With the myriad of browser inconsistencies when it comes to focus handling combined with wide array of use patterns, it's easy to naively introduce new issues.
Where selectize needs some love:
- Bugfixes
- Finishing locking down the API.
- The "single" select mode that mimics a normal
<select>could use some UX improvement. react-select is a great example of how it can be improved.
That said, thanks to everyone who's brought selectize to where it is now. There's lots I've learned and certainly much I could have done better. I still want selectize to succeed and will try to work on it from time to time, but it'll be less than I currently do. If you're interested in maintaining, please email me: brian@thirdroute.com Thanks!
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 21 -
🎉 3 -
❤️ 12
Replies: 68 comments 4 replies
-
@brianreavis I'm honoured. Thanks for all the work you've done on Selectize, you've created (imo) the best of the jQuery select controls and it was a huge inspiration for my work on react-select, especially with regards to the user interaction design.
I think many people (myself included, previously) underestimate how much work it is to get the design of a component like this right, and you nailed it.
Good luck finding maintainers, hopefully some great people will step up and help from here!
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 9
-
Selectize.js is a great plugin, it helps me a lot, hope to have a good continuation! btw: I have turn to write react too and may also use @JedWatson 's react-select >.< . Thanks to all the open source contributors~!
Beta Was this translation helpful? Give feedback.
All reactions
-
I would love to contribute. I'm run the entire front-end for Nozzle.io, and we exclusively use selectize.js for all of our needs (+ angular).
Beta Was this translation helpful? Give feedback.
All reactions
-
Just wanted to say thanks Brian. Using it for a responsive website and its working great! Chosen wouldn't work on mobile at all, and didn't have some of the other features I needed baked in like adding choices (I ended up hacking chosen to do that, but it was nice to just have it available). Yesterday I spent a LONG time looking through this code base and thinking about how I could just move the selected items outside of the box. It took me way longer than it should have to come up with a solution (so far down a few rabbit holes, when they were just the wrong ones). Anyway I really got a sense for this code base, and damn - there is a lot going on! I agree with you...I think in a general sense that this is kind of ridiculous, and can see how jQuery may not quite be the best way to go about things. And I also read through every issue trying to find an insight on mine. Man, people get SO entitled! Good luck with your project. Cheers.
Beta Was this translation helpful? Give feedback.
All reactions
-
Here's the responsive web app I finished up last night for a client using selectize magic! You can see I styled it a ton, and got the selected items to show up below - and working on mobile. Posting this to hopefully give you some sense of happiness to see your code being used. I wish I had the chops to contribute to the project. Thanks again!
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 4
-
Thanks for all your work @brianreavis I've enjoyed using it these past few months. I'd love to contribute but I think you're right that the future is elsewhere. I've run into those focus issues in my own cross browser testing, nothing is ever simple is it? Though since I wasn't even able to get my own tests passing on Travis and haven't had the time to dig any deeper I don't think I could take the reins alone like you've been doing for so long. Anyhow best of luck on your future work, thanks again!
Beta Was this translation helpful? Give feedback.
All reactions
-
@brianreavis another way the burden could be reduced is by dropping support for older browsers completely. Google are IE10+ right now.
Beta Was this translation helpful? Give feedback.
All reactions
-
@brianreavis selectize is one of the most flexible and well designed frontend libs I've come across. You'd be surprised to see how I've used it in my projects. It never stops to be useful even for things it was not supposed to power. Thank you so much!
Beta Was this translation helpful? Give feedback.
All reactions
-
So what's the status of this project now please?
Is there anyone gonna taking care of this?
Selectize is a really nice plugin.
Beta Was this translation helpful? Give feedback.
All reactions
-
I'm thinking of putting together a rewrite of selectize. Removing the jQuery dependency, and cleaning up some of the code. Hopefully going to be more lightweight and have more opportunity for extensions. Another goal would be to separate the skinning and layout, and hopefully allow for some great framework extensions as well for angular, react, etc. Thoughts?
Beta Was this translation helpful? Give feedback.
All reactions
-
I'm thinking of putting together a rewrite of selectize. Removing the jQuery dependency,
I'd love to help with a version that removes the jQuery dependency. Now with evergreen browsers working directly with the DOM is just fine. Then having a library of thin wrappers around popular MVC frameworks would be great and help it's long term success.
Beta Was this translation helpful? Give feedback.
All reactions
-
Any news about this rewrite stuff? Have you begun make a project yet? Selectize is like life and death for my project. If none are gonna make it, I will. I am not a coding expert and I know little about coding without jQuery. What I would to have is selection of multiple entries and creation of new entries on the fly.
Hope that the new selectize project can get started soon!
Beta Was this translation helpful? Give feedback.
All reactions
-
I would be happy to help with maintaining this library to the high standard you have already put in place. I've used it extensively for a current project and have several bug fixes ready and tested but will wait to PR until the queue goes down -- hopefully I can help with that.
Beta Was this translation helpful? Give feedback.
All reactions
-
I still think we should need to make an library independent selectize thing. I do not think he will accept any fixes.
Beta Was this translation helpful? Give feedback.
All reactions
-
So... Project is dead? What are the best alternatives to it?
Beta Was this translation helpful? Give feedback.
All reactions
-
Okay, looks like meanwhile I've gotten admin rights from Brian to be able to nominate maintainers.
This is all a bit stale, so if you're up for it, please make your case. The ideal volunteer is someone who uses the library and knows it well, has participated in issues/PRs before, and who can help move this project forward with the input of the community.
The job is pretty much to review stuff, help people write good code, and best case, scratch their own itches because they significantly use the project. (last point optional)
If there's anything I've learned in open source: it takes a lot of patience, people can be from ungrateful to lovely — sometimes running into an annoying bug for hours can be really tiring too! — and it's real work.
Like I said, ideally, this would look like a team of 2-3.
I'm able to put a tiny bit of help with really meta things, but I can't give actual work time to this, I'm sorry. That said, if we're able to assemble something together so work is supported/funded, that'd be fantastic.
Hopefully this is a new start for this old project ;) — and the people who appreciate it.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 4 -
❤️ 3
-
Hey @joallard - I think at a minimum we should have a couple people help maintain repo health by managing travis, package.json and security vulnerabilities. Even if I'm not working on feature requests, I'd be great to maintain a healthy repo overall.
As a contributor on a couple other packages, it's a lot of work to drum up support so lets use the recent activity around security vulnerabilities for library dependencies to pull in a few folks. If we could define a simple minor version update, then we can focus the next set of PRs and cleanup the Issues list.
I recently used selectize on a project because they weren't using a client-side framework (e.g. React, Vue, etc) and it met the needs more so than other drop-down selectors. As an active and recent user, I don't see any reason why we couldn't pull together a small group of folks in Github discussions or Discord to cleanup and release a new version after a good 8-12 hours of work.
We may want to call bankruptcy on Issues older than 2 years then triage the rest.
I'm game if anyone else wants to sink a couple days into cleaning this up!
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 5
-
I'd like to submit pull requests updating to the latest version of jQuery, with tests and all, but will it even get merged?
Beta Was this translation helpful? Give feedback.
All reactions
-
👀 3
-
To fork or not to fork?
This project is awesome and it would be a shame to let it fade away. I personally think development should remove dependence on jQuery and aim for a framework agnostic design. I've completed removing jQuery, made sure tests pass, updated some documentation, etc over here and I'm wondering if I should continue independently or merge into selectize? @joallard @brianreavis
Beta Was this translation helpful? Give feedback.
All reactions
-
🎉 4
-
Not sure if here is the right place to ask, but how far off are you from selectize.js as-is, in terms of the API, methods etc.? Could we not merge this into the selectize.js project for continuity?
I love selectize.js, we're heavily invested into its use in our WordPress plugins. I also love jQuery, used it lovingly for over a decade, but alas we're slowly migrating all our stuff out of depending on it. It's hard work, verbose and time-cosuming, @oyejorge seems to have done it and it'd be great to capitalize on what I imagine was a monumental effort!
I think selectize.js is still one of the best libraries for selecting, jQuery-dependence aside. Mentions of react, vue, etc. is just another dependence, I want a vanilla JS selective ideally, and tom-select looks like a REALLY viable option...
Beta Was this translation helpful? Give feedback.
All reactions
-
Wow @oyejorge you have a serious amount of work in your fork. I think removing jQuery is a great idea, your fork should be accepted back here as a major version bump.
Beta Was this translation helpful? Give feedback.
All reactions
-
Hey folks, thanks for your interest here. I thought I had asked in my previous post, but alas I did not: people interested in maintenance, would you send me an email at atob("am9uYXRoYW4uYWxsYXJkQGhleS5jb20=")? I'm hoping we'll be able to talk it out from there. — cc @databyte @oyejorge and others interested
Alas, folks waiting for PRs will have to wait on this blocker to be resolved. Thanks for holding on tight, I'm sure it feels pretty ungrateful not to respond to PRs, but I'm hoping we'll be able to reuse your work soon enough when we're able to.
Beta Was this translation helpful? Give feedback.
All reactions
-
Ehm... any news?
Was there any meeting or decision with the mentioned volunteers?
I see there is @risadams that made several commits on the master branch and added himself for the lib's Copyright starting from 2020, so I assume somebody gave him write permissions or handed the repo to him, even though he never wrote in this thread to propose himself.
Who gave the permissions, @brianreavis or @joallard?
Was there some relevant decision that was not reported here yet?
It's good though, to see some refreshing work being done on Selectize. 👍
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2
-
Speaking of which, I was just talking to @risadams and @joallard over keybase about maintainers. Join the conversation - there's a general chat room on the open team #selectize.
We can move our conversation to the public channel there.
It's suggested we should get roughly 4-5 contributors then refresh the Project list, cleanup open Issues and work through the PRs. @joallard did some work already on getting CI cleaned up, merged a couple simple PRs and then added bootstrap 4 support. Lots more to get done.
We only just started chatting today so it's still early.
via app: keybase://team-page/selectize
via web: https://keybase.io/team/selectize
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1 -
🎉 1
-
@Pictor13 Confirming, I did. @risadams and @databyte responded to my previous comment, and I really didn't have the time to dedicate to this, so I took a bit of time to set up a maintenance team. I'm hoping this is some fresh new energy into this project!
Beta Was this translation helpful? Give feedback.
All reactions
-
😄 1 -
🎉 1
-
Glad to hear that!
And sorry guys if I rushed things 😅
I'll follow and try to contribute as well when I can.
Thanks everybody for your past, present and future work 🙂
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 2
-
@Pictor13 thanks for jumping in so quickly!
Beta Was this translation helpful? Give feedback.
All reactions
-
😄 2
-
@joallard I would like to put my name in the list.
Beta Was this translation helpful? Give feedback.
All reactions
This comment was marked as off-topic.
This comment was marked as off-topic.
-
@joallard @Pictor13 @risadams --> This now has critical issues with dependencies on sifter --> minimist. Any updates on the handing over?
This is definitely not the right place to ask. We do have an open thread tracking this already. Specifically it is an issue with sifter, which we don't directly maintain. The best approach is probably forking sifter ourselves, but given that we are all volunteer maintainers with limited time it probably won't be a quick turnaround. We are also willing to accept qualified PRs if you are willing.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1 -
❤️ 1
-
@risadams I see you mentioned in another thread that you have stepped down from maintaining this repo--does that mean that there are currently no active maintainers of selectize.js?
Beta Was this translation helpful? Give feedback.
All reactions
-
cf #2205
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
So a bit of history here.
- Selectize started as a personal project based on jQuery in 2012.
- The original creator began backing off around 2016, with the newer maintainer backing off around 2018.
- I personally started using it in 2015 when my (then) company made heavy use of bootstrap and jquery.
- in 2020, we began expanding beyond the limits of what Seletize could do, and needed to update it to support later version of bootstrap, etc. rather than spending the heavy lift to re-write portions of our application, we began forking the project.
- Eventually we were able to make contact and take over as maintainers to incorporate those change back as official releases.
- I continued to maintain and modernize the project until I also made the decision to step back from major efforts; I no longer have push access to the repo to continue making direct contributions.
While I do still maintain the website registration, and will occasionally pop-in to answer some questions,
I no longer personally use Selectize, jQuery, or Bootstrap.
TL:DR -> Selectize does not have an active maintenance team. It is, in my opinion, complete. This does not mean that it is bug free--no software is! The web is a different place today than it was 13 years ago, Selectize is at it's core old, and outdated technology; it has served its purpose well. The current releases are not going away, but they are not going to see updates.
If there is a desire to continue with Selectize, I am willing to assist, but I also feel that it should begin moving in other directions, without the baggage of dependencies on specific frameworks or plugins.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 2 -
❤️ 3
-
I found https://github.com/orchidjs/tom-select to be the way forward for Selectize, with no jQuery dependency and so on.
Beta Was this translation helpful? Give feedback.