haskell / vector

An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework .
Other
367 stars 139 forks source link

Take over `vector-binary-instances` #442

Closed andreasabel closed 1 year ago

andreasabel commented 2 years ago

Would it make sense for the vector maintainers to also take https://hackage.haskell.org/package/vector-binary-instances under their care? It is very little code but tightly bound to vector.

CC: @bos @bgamari

Context:

bgamari commented 2 years ago

Yes, I think this would make a great deal of sense.

Shimuuar commented 2 years ago

No objections from me.

andreasabel commented 2 years ago

@lehins @Bodigrim @emilypi (current hackage maintainers of vector): If one of you agrees, I am sure @bgamari will give you permissions on this repo and on hackage.

emilypi commented 2 years ago

In the past year, the CLC has scaled back its maintenance burdens as a result of overwork and burnout in previous generations. @Bodigrim and myself are only maintainers of vector in a supplementary capacity as members of the CLC. That means that @lehins is effectively "lead maintainer" of vector, and needs to decide whether they have the capacity or desire to take on another package.

P.S. Bos only exists in email and hasn't done anything in the haskell realm for close to a decade. No sense in pinging 😄

Bodigrim commented 2 years ago

@lehins and @Shimuuar are lead maintainers of vector.

Since vector is a core library, I think it makes sense for @bgamari to donate vector-binary-instances to CLC, which in turn will ask current maintainers of vector to take care of it. Ben, could you please open a PR updating https://github.com/haskell/core-libraries-committee#core-libraries ? Would you like to donate anything else of Bryan's legacy?

lehins commented 2 years ago

I don't personally use or like the binary package, that is definitely not my go to serialization library. However it is the one that is wired with ghc, so I can see how these vector instances could be useful.

Tell you the truth, I do not want to maintain it, not only because I don't care about it, but also because there is already enough on my plate.

On the other hand, there is not much to maintain, the package is very tiny. It does look currently totally broken, I'd hate people stepping on those bugs: the decode will go into an infinite loop if the size on the wire is negative and its usage of unsafePerformIO is incorrect, so it can produce other bogus results (see https://github.com/bos/vector-binary-instances/issues/17) All this makes me believe not many people are actually using it (at least they shouldn't in its current form :smile:). On the positive side it only needs to be fixed once properly and then we don't ever need to touch it. After that all of the maintenance burden will be around making hackage revisions.

I think we can handle it. I can't promise I'll get to it for another month or so, I have vacation coming up and I am not planning on doing much OSS work during it. @Shimuuar if you want to tackle it sooner, be my guest.

We should move the package over to github.com/haskell or embed it into this repo. CLC should not be overseeing packages that are not under the full control of Haskell org. Once that's done @bgamari feel free to add myself and @Shimuuar to the list of maintainers on github and hackage we can take it from there.

ysangkok commented 2 years ago

@lehins There is no rush, but I'd like to ask if there is a specific date by which you imagine doing it. Just such that the issue doesn't get forgotten. This issue is getting increasingly relevant as people move to GHC 9.4 (https://github.com/bos/vector-binary-instances/issues/25).

It's preventing quite a few packages from getting into the Stackage nightly snapshot, as you can see from searching for "requires the disabled package: vector-binary-instances" in https://github.com/commercialhaskell/stackage/blob/bcf43c1413c46a6e8075654cf9157b54b82adbe6/build-constraints.yaml

lehins commented 2 years ago

I'd like to ask if there is a specific date by which you imagine doing it

@ysangkok I'd be willing to take over the maintainership and fixup vector-binary-instances project, but I don't feel like going around asking people to give me this work, I have plenty to do already. As of today I have access neither to the repo nor to the package on hackage, so as of this moment it is out of my hands. When I wrote my comment I was hoping someone from Haskell organization would:

Once that happens I can actually see myself putting some effort into the package. Feel free to bug people around that have the authority to do all those things above.

Mikolaj commented 1 year ago

@andreasabel: do you know anybody from the Haskell org that can do that (see last comment)? I'm sure @bgamari would then sort out the Hackage package access.

Bodigrim commented 1 year ago

@Mikolaj I described the necessary process above. Please lialise with @bgamari to ask CLC to adopt vector-binary-instances as a systematically-important packag, then it can be moved under github.com/haskell and CLC will appoint willing maintainers.

bgamari commented 1 year ago

@bodigrim, I would be happy for the CLC to take over this package.

Bodigrim commented 1 year ago

CLC has approved taking over vector-binary-instances in https://groups.google.com/g/haskell-core-libraries/c/W2WoxFGB5Wc. @bgamari please transfer the package under github.com/haskell

bgamari commented 1 year ago

FWIW, I have requested that @bos transfer the package.

Bodigrim commented 1 year ago

@bgamari neither of you is an owner at github.com/haskell, so you would not be able to transfer. If you add me as an admin, I'll do the transfer.

Bodigrim commented 1 year ago

@bgamari what's the plan here? if you cannot get hold of @bos, I can just clone https://github.com/bos/vector-binary-instances into https://github.com/haskell. We'll lose issues / PRs history, but it does not seem to be a huge deal: most of them a technical version bumps.

bgamari commented 1 year ago

@Bodigrim indeed I've not yet heard from @bos since May 17. At this point I suspect you might be better off simply forking.

Bodigrim commented 1 year ago

OK, all done: https://github.com/haskell/vector-binary-instances And I revised the latest release to point to this repo.

Maintainers of vector should have required access rights.