First, I think lot of people are enthusiastic about the clj-commons efforts and values, and that’s also why I’m trying to write here. ( because I think it has a good potential and I’m glad that it exists)
Before discussing to many things and different topics, I would like to focus on some key points that are imho really important. ( We can’t focus on all details, so let’s do the important now. imho. I’m even not discussing other technical topics inherent the org )
Ordered by importance:
- The definition of “organization”, and it’s members
- Shape and governance model
- a) Currently, the organization on GitHub has no public members.
There is not a list of the “Commons Team” somewhere.
Before contributing to clj-commons, I think that everybody should know who belongs to the org and how he/she can participate to the organization meta-discussion (if he has the experience and the will to do it). We have currently issues and slack for that but this is not imho solving this problem, because it is a problem of Technical committee, Maintainers, Contributors etc and their interactions within the org.
As practical examples: who decide which library belong to the organization? How we decide this? E.g majority votes aren’t always suitable for some cases where people don’t have experience to a domain/topic. Also the stars on GitHub, recent issues/PRs, number of downloads on Clojars are to me not really an indicator for being useful.
Imho, as first step we should open the organization to this discussion: basically who belong to the organization? Imho the organization should belong to the volunteer and people willing to join effort and that have the will to share their experience/time to community. In a way we should also think How to join the org, and which requirement are needed.
- Shape and governance model:
We need to decide how we execute and organize.
In theory we could have sub-domains internally of the organization ( this depends also on the goals);
- “clojure-nursery” for new project which might be interesting.
- “clojure-suitenable” (name is arbitrary) but it could be for old-project which are not maintained anymore.
- … etc
A part of this, imho we should also choose a governance model of the organization.
- Goals, definition of org:
Afaik one of the common goals of clj-commons is to be like “clojure-suitenable”, where we continue to maintain other projects, which cannnot be maintained anymore.
But the name itself is kind generic and I think some people also understand it as “clojure-nursery”, where new libraries could be adopted for the sake of community.
Also in this direction, the last goal of page: https://clj-commons.org/ seems to go as kind of clojure-nursery.
I take the freedom also to cite @seancorfield on slack, what I share also:
" I’ve been involved in several
clj-commons-like initiatives in the past in other tech (that have, incidentally, all failed for lack of governance and/or lack of community support) "
Also what we could also take somehow as inspiration model: https://clojure.org/community/contrib_libs
To conclude: I have just proposed some thoughts.
I think, as many we want to improve things but we shouldn’t only focus on the good will of people but think also on the shape, model of the org. I’m definitely not an expert in all topic but I would like to bring this discussion further and achieve some pragmatic decision/explanation for this org and listen to people who are active and more experienced then me, that’s is also why I like the clojure community. Thx!