clojars

http://clojars.org discussion and “support”, see http://status.clojars.org for status.
seancorfield 2021-05-05T01:14:39.024Z

@rschmukler I don’t represent any of the Clojars folks but I will say that you pretty much never want to delete published versions unless you know no one is depending on them: removing them will break people’s builds which is bad.

seancorfield 2021-05-05T01:15:18.024900Z

Also, if you have already published libraries into a group you will be able to continue publishing new versions of those libraries into that group — you just can’t publish new libraries into it.

seancorfield 2021-05-05T01:16:12.026300Z

What I’ve done for things I used to publish under seancorfield is to double-publish under seancorfield and com.github.seancorfield while folks transition over to the new coordinates.

seancorfield 2021-05-05T01:17:44.028800Z

Tools like antq are already detecting group ID changes and showing updated versions of libraries that have moved under new groups, by the way.

rschmukler 2021-05-05T01:18:51.030200Z

One potential solution I was mulling over was the notion of a redirected group... Basically, what if a clojars user could link a non-verified group that they have control over to a verified group... Then clojars does 302 redirects on all packages to their new (verified) org coordinates.

rschmukler 2021-05-05T01:19:56.031800Z

Still thinking about the implications around 1) do maven resolvers handle 302 ubiquitously, and 2) what sorts of invalid states can you arrive in if you attempt to migrate to a verified org that already published something under the same name

seancorfield 2021-05-05T01:20:17.032300Z

My repos don’t document the old group IDs any more so new folks coming to those projects will see the new group ID (and latest version) and not know about the old group — unless they trip over it in some other project of course 😐

rschmukler 2021-05-05T01:20:29.032500Z

Or they use clojars for discovery...

rschmukler 2021-05-05T01:20:50.033100Z

Which, when I was starting out in clojure, I tried to do - this change however seems like another blow to discovery on clojars

seancorfield 2021-05-05T01:21:26.033800Z

Well, at least there they’ll see bright green VERIFIED GROUP tags if they search for the artifact and see it in multiple groups 🙂

rschmukler 2021-05-05T01:22:01.034Z

https://clojars.org/search?q=fs

rschmukler 2021-05-05T01:22:21.034500Z

I'd argue you'd end up at the wrong fs following the green badge

seancorfield 2021-05-05T01:23:35.035700Z

That’s a heavily-forked example though — the definitive version isn’t even shown on that first page (it’s https://clojars.org/clj-commons/fs )

rschmukler 2021-05-05T01:23:47.036Z

6th result for me

seancorfield 2021-05-05T01:24:04.036500Z

Oh yeah, just noticed that.

rschmukler 2021-05-05T01:24:06.036600Z

But I agree, I'm just trying to demonstrate

seancorfield 2021-05-05T01:24:49.038100Z

I just looked at teknql and you only have one non-snapshot lib and very few downloads so maybe you’ve worrying too much about your pool of users?

seancorfield 2021-05-05T01:24:59.038400Z

(no offense intended)

rschmukler 2021-05-05T01:25:04.038600Z

None taken

rschmukler 2021-05-05T01:27:10.041Z

My concern is more for orgs like metosin which seemingly will now have to fragment their libraries onto clojars (with new libs appearing in a verified org) or migrate all users to the new coordinates, and leave users new to the clojars ecosystem wondering whether they want metosin/malli or fi.metosin/malli

rschmukler 2021-05-05T01:28:30.042400Z

Truly it doesn't impact me, other than I think clojars is one of the first things new (potential) users see when evaluating the clojure ecosystem, and so having a "wow there sure are a lot of forks, even official ones" reaction is something that I think is worth considering whether we can solve

rschmukler 2021-05-05T01:37:20.045400Z

Framework authors will face a similar question. Eg - what happens when luminus wants to release a new library - do they keep publishing updates to the non verified org, and then release new libraries to com.luminusweb/* when the time comes, or do they migrate now? This isn't supposed to come off as critical by the way, but I am curious what authors are doing on the whole, and if we as an ecosystem are following any guidelines on it.

seancorfield 2021-05-05T01:52:12.047900Z

I have some fairly widely-used libs under seancorfield and a few other non-verifiable groups and I’m double-publishing them all under their current group and com.github.seancorfield for “a while” until I think folks have had long enough to switch over and then I’ll just stop publishing to the old groups. Tools like antq will help guide people to use the new groups (I’m not sure what logic it uses but I probably ought to read its code so I can talk about it to other folks).

seancorfield 2021-05-05T01:52:58.048800Z

I think the Clojars folks announced this pretty widely in advance and asked for feedback — I know I provided quite a bit, but I don’t know how much other library maintainers provided.

seancorfield 2021-05-05T01:53:50.049900Z

I raised issues with Leiningen and Boot for their handling of templates. Leiningen’s latest version includes support for templates that use verified group names, following the approach I took earlier with clj-new. The Boot folks have not responded to the ticket I raised.

seancorfield 2021-05-05T01:54:28.050500Z

(and I think lein new template provides a warning if you use a non-verifiable group style name)

seancorfield 2021-05-05T01:55:33.051400Z

I think Clojars could do more in terms of sorting/filtering of results to “encourage” folks to use verified group artifacts where they are more up to date (maybe the logic in antq could be leveraged for that?).

2021-05-05T11:41:39.056200Z

Hi @rschmukler! I agree that there will be some confusion for projects that decide to transition to a new name or have new related projects that now need to be deployed to a different group, which is unfortunate. I think @seancorfield's suggestion of pushing to both names for a bit is a good one. We also are having an ongoing discussion about using maven's built-in relocation feature that could aid in discovery of the new names, both in the Clojars UI and in tooling (see https://github.com/clojars/clojars-web/issues/801).

rschmukler 2021-05-05T13:54:26.056900Z

@tcrawley thanks for pointing me toward the discussion! This is exactly what I was hoping to find!

2021-05-05T13:56:39.057Z

My pleasure! Feel feel to contribute there if you have more thoughts about it.