:bulb: I have this idea of gathering third-party projects related to Kotlin and crucial for the comm...
p
💡 I have this idea of gathering third-party projects related to Kotlin and crucial for the community which struggle with their development and maintenance (like ktlint and many others), and encouraging people to either contribute by their work or donation. I can imagine it being somehow supported by JetBrains as well, e.g. in a form of a section on kotlinlang.org. The non-trivial part would be to determine which project is crucial for the Kotlin ecosystem (like ktlint, extremely popular) and really struggles to go forward. It could be organised in a form of community voting/survey. What do you think about this general idea?
CC @Paul Dingemans @jmfayard @Nikky
f
I guess it depends on the point of view but ktlint isn't crucial to me
➕ 1
👍 2
p
it’s just an example - I’m sure we could collectively gather more projects that need help
a
I think it is better to discuss the topic in #library-development. But the there are no such things as "critical for community". Community is formed with diverse set of libraries. So any contribution is crucial.
p
let’s not confuse it with appreciating a contribution. My mental model of “crucial” here is the level of dependency on a given library from the community; think of the number of people/projects that could got affected if a given library disappeared. I can imagine a library that no one uses and no one notices if it gets abandoned
a
It is exactly what I am talking about. There is not single most important library. What is important is diversity.
p
I disagree - if a library has maintenance issues, should I go and create my own just for the sake of diversity?
a
No, you should try to fix it. But if there is no library with needed features, you should. Therefore if you just want to contribute, then select anything you like. And you can always contribute to the compiler itself.
p
right, so my initiative here is an attempt to fix the maintenance issues of some libraries perceived as important, and I agree it’s not trivial to define what “important” really means. I do think that there’s a notion of a certain library being more adopted in the community or idiomatic, which can be helpful to decide
I’m curious what the others think, to not keep this discussion between two people 😉
a
I think you ca just call out in #library-development
#feed is about news, not discussions
p
sorry, couldn’t find a better channel at that moment, will remember for the future
👍 1
m
I was thinking of something related - somehow coordinating efforts between JB and community. Like I feel like they start of many interesting projects e.g. kotlinx-cli but then they seem to not have enough resources to develop it or sometimes even to review PRs and a community driven alternatives emerge (here maybe clikt). Maybe JB should maintain a proper index of official and unofficial libraries that would help to answer a questions of when to use, contribute or start a new library in a given space, with a guidance when needed. Like there already is a https://kamp.petuska.dev/ though I don't find it much useful.
👍 1
p
I think there is already a place to collect tools which are widely used in the community. @Piotr KrzemiƄski can you check whether https://kotlin.link/ does fullfill your need?
p
@Paul Dingemans https://kotlin.link/ accepts virtually any library, I have some of mine from 3 years ago that no one really knows 😉 so it’s a no for this solution
☝ unless you look at the landing page which actually shows some projects with lots of stars. But then again, there’s no info about a given project needing help
m
Ah, yes, there is also https://kotlin.link but it does not seem to be up to date either. Now, if it would be maintained by JB, daily, instead of them starting new experimental projects without adoption, if it had some more info (including that of contribution status), maybe even a domain specific headers of differences and trends among the projects, finally if it were officially pinned on the kotlin's main page - then it could really stand for something.
🙌 1
p
while not directly related to the original problem, such index of JetBrains-owned libraries would be a really cool side outcome of this discussion!
see https://kotlinlang.org/docs/, there’s already an “Official libraries” section mentioning really core ones: coroutines, serialization, ktor and lincheck (I don’t know this one 👀 ). So the goal would be to expand on this section, make it a proper list of libraries owned by JB
j
The real questions for a community of library authors A community, what for? How would it benefit its members? How would one realistically contribute something meaningful in the sharply limited time that we have? How would we communicate?
m
The key is it should not only list JetBrains-owned but all public projects, though most likely distinguish them with a status icon like Official/Endorsed?/Community. They already do something like that in https://github.com/Kotlin/kotlinx.serialization/blob/master/formats/README.md . And as the goal is to not only build a language but an ecosystem that looks like a great opportunity. Any @mods want to look at this?
m
If we take inspiration from npm ecosystem, something that seems to work there is npm-funding? I'm no expert and I know there has been (are still) some controversies but looks like there are at least a few projects that manage to fund themselves through a mix of npm-funding, open collective, logo placement on README.md and Github sponsors? This stuff is hard (and the npm community is bigger than the Kotlin one) but it might be worth a shot? Open an issue on Gradle to support some format of funding information in maven packages?
j
Is the community supposed to be about money or about exchanging information? Like Alice says I know how to publish on mavencentral, I can guide you with this and Bob says I know how to build a documentation website, I can guide you through this
m
Is the community supposed to be about money or about exchanging information?
Both I guess? For information, we're lucky to have this slack community, mavenCentral and Github amongst other things. Curation is always a bit harder to do in a non-centralized way but could be interesting too!
j
Curation is always a bit harder to do in a non-centralized way
Why does it have to be decentralized? A wiki is the best way to document things. If it works well enough for Wikipedia, it will work for us
n
I'd rather be interested in a few decentralised organized and vetted library lists and Mavens than a big centralised one that is such a pain to use.. also has no discoverabilty rn
mainly to reduce the workload on those vetting libraries and making them discoverable..
but I guess I am just too scared of spam..
a
Could you please move the discussion to #library-development?
✅ 1
p
I didn’t want to fragment the discussion since it’s already ongoing here, but here you go: https://kotlinlang.slack.com/archives/C8C4JTXR7/p1669295970535429