alecthomas / gometalinter

DEPRECATED: Use https://github.com/golangci/golangci-lint

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Archive gometalinter

alecthomas opened this issue · comments

The gometalinter GitHub project will be archived on 2019-04-07. Releases will still be available for download but no further code will be committed and issues will be read-only.

Switch to golangci-lint.

Many thanks to all contributors, in particular @dnephin who has helped me maintain gometalinter for the last year or two.

Edit: Just to be clear: binary downloads will still be available and the repository will remain, it will just become read-only and all development will cease. Any existing projects that use gometalinter will continue to work.

Please, don't be too fast with this decision.
Let this issue be open for at least several weeks.
Maybe someone would have good arguments in favor of not doing it.

My first step outside of "go lint only" was gometalinter, so I feel nostalgic. :(

I do not have much time to maintain the project. At most I seem to have a bit of time to answer the occasional question on the issue tracker.

Maybe a first option could be to add a note at the top of the README and in the issue template saying something like the above (current maintainers are considering archiving the project, if you are interested in taking over please say something).

If nothing changes over the next few (maybe 6?) months then I guess archiving would seem like an acceptable option.

I can volunteer to make those changes sometime over the next week or so if that is what we decide.

That sounds reasonable.

  1. Put a note in the README of our intentions.
  2. Archive it in 3 months.

@alecthomas thanks so much for all your hard work on this project! It's had a measurable impact on runatlantis/atlantis and found a couple of bugs I'd missed.

Golangci-lint almost has feature parity so I think EOL'ing this project is a totally legit decision.

🥂 Cheers and thanks again! 🥂

You're welcome.

I'll archive the project on April 7th.

Thank you for all your great work @alecthomas 💯

I've updated the title and README accordingly.

Thanks for making such a great project @alecthomas & @dnephin!

Thanks for all the work @alecthomas!

Thank you for all the hard work @alecthomas and @dnephin .

I was going to offer my help to keep the development of the project alive, especially adding more concurrency and recycled buffers, but I realized that taking care of all the code, issue tracker, and —possibly— editor plugins would require a significant amount of time. I would also end up rewriting the entire code base and releasing a binary very similar to golangci-lint, so maybe it’s not worth the trouble.

I still like gometalinter more than golanci-lint.

Yesterday I spent a few hours creating a new version of the SublimeLinter package for golangci-lint, an improvement over this [1]. Unfortunately, after learning a bit more about this linter, I started to dislike it, especially the fact that some warnings are sent to /dev/stderr and others to /dev/stdout . It also seems to encourage people to configure its behavior using a configuration file, and considering how opinionated Go is, I was expecting something more simple, a plug-and-play sort of thing.

Thank you, once again, and let us hope golangci-lint gets better to justify the switch.

[1] https://github.com/alecthomas/SublimeLinter-contrib-golang-cilint

@alecthomas thank you for this great project! I used gometalinter in a lot of projects, it helped our teams a lot.

@alecthomas you are totally awesome.

You really make a difference to the go community (at least the parts I know).

I particularly respect that you saw another tool out there that did something similar to your project and you decided it's doing it better in many ways and there is no point competing, so you just retire yours and put your effort into other things (hopefully I'm not misinterpreting it all).

That is just really cool and humble all at the same time.

Chapeau, monsieur!

Thanks everyone for all the kind words, I appreciate it.

And yes, @juliaogris, you are interpreting the situation correctly. gometalinter is a tool that started out as quite straightforward, but due to the proliferation of linters in the Go community (which is excellent), quickly got out of hand. @dnephin and I discussed integrating the linters directly as golangci-lint has done, but neither of us had the time nor frankly the inclination, given that gometalinter worked well enough for our purposes. Once golangci-lint popped up, integrating linters in-process as we had planned, I was personally quite relieved that someone else had done the work! :)

Anyway, thanks again and all the best.

Sad to see the project closing. Thank you for developing and maintaining for as long as you have.

@alecthomas

Strongly suggest NOT asking ppl to move to golangci-lint for now, nothing is working there, too much issues, the project is still at a very immature state.

@lnshi, could you be more specific, please?
It might help to solve those issues (much) faster.
(Although this is not the right place to discuss it. You can create ticket in golangci-lint github issue tracker.)

You reported those issues 2-6 hours ago. Have some patience. I and many others have been using golangci-lint for months across many machines, different CI infrastructure, etc. with no issues. One anecdote doesn't make a fact.

golangci-lint as GPLv3 is a major headache for many commercial companies and in some cases an insurmountable barrier. I just wanted to point it out. I am not saying you shouldn't do what you need to do with this project. Do you have other non-GPLv3 recommendations?

I'm not aware of any other alternatives, no.

Given that golangci-lint is a tool, not a library, I'd say any objections to its use based on it being GPLv3 are issues brought about by corporate policy, not practicality. Additionally, they offer a commercial solution.

golangci-lint as GPLv3 is a major headache for many commercial companies and in some cases an insurmountable barrier.

If you want to ship a commercial linter product, maybe fork the code and maintain it yourself?

Well, it's time.

Thanks again to all the contributors over the years, in particular @dnephin, and all the users who've been helpful.

So long, and thanks for all the fish.