-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
About the jq's release process (Was: Is jq is still alive/maintained ?) #2305
Comments
Also wondering this. It would be a shame if it stopped being developed and maintained. Maintainers, is there anyway to help you out? |
Hey, so I'm still around- the main issue is that I've been super busy with work and dealing with life this last year that it's been especially hard to find the time/energy to devote to jq. We'd definitely appreciate help- Beyond that, I need to go review all the open PRs- I know I've seen some good stuff come through my email- and also try to clean up the issue tracker some. |
Thanks for your answers. @carlsmedstad : IMHO, I don't think it is a shame if @stedolan can not or don't want maintain jq anymore. I prefer saying a big thank for the work already done. Today There different solutions to get a projet maintained, :
For now I don't read people answering "I forked and I can maintain jq", I'm in the same case. I want a maintained jq, I can contribute but I don't have enough time to be the only one to maintain jq. When nobody has the time to maintain the projet, we can try to make a github "organisation" like "jq-community" or "jq-maintainers". It imply to work together (it is not always easy). My personnal goal and possible contribution is targeted on jq builtin I'm currently using jq 1.5, the only interesting thing I take from jq 1.6 is some builtin (made in jq language it self) then I took them and load on jq 1.5 before using them. The most work I'm doing around jq is provide a set of usefull functions/samples for my colleages and myself. I want more sample in documentation for builtin and more wiki cookbook) for functions that is not built in but interesting enough to exist. For me, there are a few number of missing feature in jq. |
I would like to help maintaining this project if you could invite me as a collaborator. Maybe @pkoppstein would be willing to help, too. I have already submitted some pull request, including the fix for the CI (#2141, #2193). Based on my experience of gojq, I believe I have throughout knowledge of jq filters. But I'm afraid there are many difficulties in this project though; changing the behaviors will likely to break some scripts in the world, even if it is likely broken behaviors (like |
@wtlangford Fully understand that, really appreciate the work you do. I'm not too familiar with the project yet but I'll try to get to it this weekend and see where I could help out. @tst2005 Sorry, I did not intend to come off as negative or demanding. I just wanted to get across that I appreciate the project and would like to help. |
@wtlangford Thanks for all hard work. Im also willing to help out with review, documenting, testing and whatnot |
I create a https://github.com/jqmaintainers organisation, |
Hi! I feel bad that at some point I fell out of the work that I've started on a couple of core developments here. Back then I had some spare period between jobs but since I've entered my current position I haven't been having any spare time/brain to continue working on this. I am very sad to see how this amazing project is struggling currently and I would encourage @nicowilliams and @wtlangford to seriously consider picking a responsible maintainer who will be able to put the required effort into moving this forward. Personally, I am still planning to find some time to finalize my work on a very promising feature that Nico has started. It is going to open the way to extending JQ with custom filters and producers, like fetching stuff from APIs, or running queries against DBs from within the jq script. |
That maintenance is landing on one person who may or may not actually have the time because they have other obligations such as a day job is precisely the problem. Making a GH organization and seeing to it that we have enough people who can actually do the work would go a very long way in the right direction. |
@tst2005 - Some thoughts in response to your post:
|
Decision such as migrating to an organization should happen after deliberation of current maintainers. |
I know it is was just a simple example.
For me there are 3 kind of functions:
I'm not sure to understand. What you wanna do with that ? |
He didn't react/commit for years. I supposed he does care of jq anymore. |
So these days, @nicowilliams and I are the two maintainers. I'll chat with him about it and see what he thinks
While slightly off-topic for this thread, I do want to point out that this isn't really possible, due to how jq's internal linker works. When we're parsing your code, we just note that you referred to a symbol by name. Later, we do a pass through to try and link your symbols to already defined things. If we can't find a symbol by that name, linking fails. So there's not really a way to do that, without introducing some kind of preprocessor, and that's not something I'm particularly enamored of.
So one of the nice things about jq is that most of our standard library is defined as jq code (https://github.com/stedolan/jq/blob/master/src/builtin.jq). So as long as it doesn't actually depend on a new language feature, you can just copy over the needed library functions. That said, per my comments earlier, I'm going to spend some time today doing some cleaning/organizing of issues/PRs so that we can see what's left before a 1.7 release. |
@tst2005 -
You are perhaps referring to the original creator of jq, but there have been other official maintainers, and of course at least one of them (thank you @wtlangford!) is participating in this thread. |
We have actually discussed it some, but we're not sure how we want to handle it- anything like that would be a breaking change for a lot of existing scripts, and that's something we'd like to avoid. The main reason jq-1.6 is so much slower than 1.5 is due to the sheer number of builtins we added to it and the cost that incurs at load-time. Splitting less-commonly needed builtins out into builtin modules would go a long way towards helping (as we wouldn't load those modules unless you ask for them). But, as I said- that's going to be breaking behavior and I'm hesitant to commit to it. Beyond that, we had a great contribution back in 2019 (yes, I know our release schedule is slow) that significantly improved startup times back to approximately the performance of jq-1.5, so it's a bit less pressing to my mind. |
This is a solid point, it does not mean to blame any one individual just a fact about the nature of things in open source, people move on, lose interest, life happens and have (real) morning jobs. An organization with multiple entities makes much sense for project like jq to evolve. Lets face it, it is simply not one individual's job to maintain this huge popular project at this point. |
Eventually all great projects outgrow their original maintainers (hello, Linux). I definitely would encourage whomever still owns this to delegate and allow the community to grow. I could see a whole community with several branches springing up. I, for one, would love to see a whole repo dedicated to add-on functions that can be installed. Please consider growing the community and releasing soon |
Can I second those who ask for a new release from the new maintainers? jq has had optional |
To the owner of this repo: If you simply don't have the time to even delegate, then donate it to something like the apache foundation or the eclipse foundation, that has a great record of running open source projects Is the owner even still alive? @stedolan - he hasn't made a single comment on this thread |
@wtlangford Any updates on doing a release? |
He's dead. We need a fork for someone who can maintain it |
This comment is a rant; accept my apologies and skip it.Fork it then. This was a complicated project before the portability concerns and the massive adoption. It's a programming language that most of its users don't know is a programming language. It's a functional shell-oriented streaming DSL used by people who write AWS docs and people who think Python is bloat. Its maintenance requirements are unique. Anyone who's capable of wrangling libjq is also capable of making a quarter million a year bumping the version control on some embedded firmware. I'm on record begging for a new release but if you look at the project history the schedule isn't weird and the build isn't expensive. Emailing everyone subscribed to this repo the same entitled comments over and over does not make anything happen faster. There are some tantalizing features in development but I, for one, would rather see the scope protected than the growth rate explode. @wtlangford Sorry for contributing to the trash fire |
I depart. Clearly nothing productive here. |
For a more productive comment... @wtlangford 1. the release processCan you consider to make Release candidate ? jq 2. multiple version supportI'm using jq over the debian package distribution currently I'm using jq 1.5 I'm loading some interesting jq 1.6 built-in function when I need it. Regards, |
FWIW, I'm trying |
Regarding jaq, @jpmckinney wrote:
jaq is very impressive in many ways, but although it is substantially compliant, it is not, and does not strive to be. By contrast, gojq is substantially compliant with jq except mainly for bugs and certain "undocumented" features (e.g. _nwise/1) and "implementation" matters, notably (on the plus side) integer precision and (on the negative side) memory management. |
This issue mey be outdated? (This repo is now |
Looks like that change happened within the last 24 or 48 hours, yes. Edit: #2594 (comment) |
So looks like whole repo with all data/metadata has been transferred to new maintainer 🤔 |
he hasn't responded or made a commit in over two years, so you could be right |
We have:
Yes, the old maintainers (myself included) went AWOL, but we're not dead. You can thank @owenthereal for pushing to do this, and @stedolan for transferring the old |
Same maintainers but with more new maintainers, because we the old maintainers were not responsive. |
I'm bored of C -- it's a very dangerous language. I think Rust is a pretty good choice of a language for a rewrite. Just looking at the README for |
I think there will always be a place for
I assume jaq is fast not only thanks to the author's efforts to make the implemented features faster, but also thanks to the architecture being simpler by excluding some features. It might not be possible to maintain that performance and implement all of jq's features (unless the slower features are made to use an entirely different code path, but then why bother if jq already exists for those needs). |
I would happily use jaq, if it can support wasm targets (more specifically, can be linked as a library into a wasm module). Maybe this is more of a general Rust matter than jaq; either way I only found the question raised but not answered |
The latest organizational I get that when you've been doing a lot of C, those B&D languages can start to look great, but it really is a "the grass is greener on the other side of the fence" situation, or at least it has been over the past few decades. |
Being jq compatible would probably also include re-implement all of jq's CLI argument and behaviours (input handling, exit codes etc) and also in some cases implement some behaviours that might be considered bugs, ex BTW the author or jaq @01mf02 has written a paper about it https://arxiv.org/abs/2302.10576 |
One of the reasons Rust became popular is that it was easy to compile to WASM from very early on. Rust remains one of the best choices to do what you want, I bet one could very quickly set up a small wrapper around jaq that exposes it to JS, e.g. using https://github.com/rustwasm/wasm-pack
Does it though? I’m so bored by any predictable outbreak of internet drama being FUDded into the doom of humankind. Rust is used in the Windows kernel. It’s not going away. |
Obviously the original problem with this issue has been resolved, so why not create another issue about the rewrite to Rust and close this issue? |
Although we're moving forward on the new jqlang org with new maintainers, we haven't go through |
The survive of jq seems now more assured than at the beginning of this thread ;-) |
@liquidaty, the question you have referenced was about having jaq as a "WebAssembly library wrapped in JS on npm". I have never done the "npm" part, but I have already compiled another Rust program of mine to WebAssembly and used it from JS. So this part is definitely doable, also for jaq. I would be really happy if somebody would try it, because having something like jqplay.org for jaq would be quite cool. In particular, it would allow processing all data on the client instead of sending it to the server. |
I wish I could react to the close notification so this comment will have to do. Great work, new maintainer team! |
Yes! jq has been revived, and now is indeed alive and being maintained again. You can thank... a lot of people for this, including those who asked what was up and even threatened a fork. |
After more than 2 years, I'm really happy to see this issue that can now be closed without hesitation ;-) |
Just so you know, your efforts to fork jq helped revive jq. Thanks! |
Dev Team - Thank you very much! Amazing job! |
This is really good timing for me. I wanted modules last week and I'm using |
Hello,
jq
is a already powerfull enough for most of use.it does not need new release too often but ...
There are lot of PR for bugfixes and interesting improvements.
is @stedolan still maintaining jq ?
if it is a "dead" project, Am I alone to think about a fork ?
Regards,
The text was updated successfully, but these errors were encountered: