Fork me on GitHub
#clojure-europe
<
2023-03-13
>
grav06:03:53

Morning!

javahippie06:03:23

I was contacted about a Clojure library I am maintaining which wraps a Java library. The maintainers of the Java lib (a company) asked if I was open to move it to their GitHub org, making it the official Clojure version. I’d really like that, as it takes the maintenance-pressure off of me and would probably lead to more visibility. Coincidentally I will meet one of them at a conference next week to discuss it, are there any pitfalls which I have to look out for? Of course the group of the artifact will change making this a breaking change, for future versions, but I wouldn’t really mind as long as it’s communicated properly. The library might also move from EPL to MIT, but it seems to be compatible for me.

metal 16
pez07:03:17

Hey, that's way cool! I have no experience on this, so can't comment on pitfalls (other than that I don't see any).

mpenet07:03:09

you might want to ask about ownership. It might or might not matter to you

mpenet07:03:47

I mean even if it's oss, right now you have full control on the repository (and its collaborators management)

mpenet07:03:49

not only that but also about what you do with potential contributions : ex an employee of the member org could one day push to get a feature you really don't want included, I suppose you need to think about these cases

javahippie08:03:06

Those are valid points, thanks! I am pretty sure that ownership will be with the company, if it is the official library. They have a good track record of integrating other libraries, e.g. C# and Go, which also started out as independent libs. I believe the maintainer of the C# lib joined them full time, and the creator of the Go lib still makes contributions to it. The OSS decisions they made in the last months all seemed reasonable to me, and I know they have employees who worked with Clojure in the past (and I suspect the suggestion to move the Clojure lib over came from one of them)

orestis09:03:12

It depends also if you’re handing over or if you still plan to work on this.

orestis09:03:51

And if you ever want to get paid for OSS work

👍 2
orestis09:03:29

Finally the optics of a solo dev working on it vs a company

grav10:03:44

> it takes the maintenance-pressure off of me How come? Is it part of the agreement somehow?

grav10:03:44

Did you discuss any kind of sponsership from the company for your work going forward? I think that would be in order, if the ownership is going to them.

javahippie10:03:54

I don’t plan to get paid for the work. My main goal for this wrapper was to make it easier to use this library in Clojure (also for our company, we use it heavily). Currently I am the solo maintainer, but the API is “finished” as long as the Java version does not provide heaps of new methods, and they don’t plan that right now. Every 3-4 months I update the transient dependencies, run the integration- and regressiontests in the pipeline and push a new version to Clojars, that’s about it. If they take ownership of the library, I can still contribute as an Open Source contributor, but of course I cannot decide on my own what goes in, what does not. On the other hand, I don’t have to do the upgrades and don’t have to make sure that it is on par with the features of the Java library, the responsibility switches over to them. People who are interested in using the lib from Clojure can then use the official wrapper and trust the source, and on their official website everything will be mentioned, so devs will find the library quicker. It just seems like the Clojure devs would benefit from this decision, which would be enough for me.

grav10:03:41

Makes sense!

Ben Sless16:03:50

If they want ownership, they should buy it from you Depending on the exact license, they may need permission from all past contributors to relicense It should also be clear that if ownership is transferred you are no longer accountable for the library, "this program is provided as is" etc

genRaiy07:03:55

Good morning. That was yesterday. The party clean up continues today.

😄 4
simongray08:03:19

good morning

mdiin08:03:53

Godmorgen

reefersleep09:03:18

Starting a new habit of not polluting threads concerning a particular issue. Instead, I’ll say out here that, that’s seems like a lovely opportunity to have your Clojure wrapper become the official Clojure version of that java lib and I hope it goes well, @javahippie !

🙏 2
reefersleep09:03:07

Also, good morning, send more coffee :rain_cloud:

8
Rachel Westmacott09:03:18

oh, that's a good idea!

reefersleep11:03:53

🍻 but imagine clinking coffee cups instead.

Rachel Westmacott13:03:34

it's coffee o'clock somewhere in the world!

reefersleep13:03:25

Let's celebrate that... With a cup of coffee.

reefersleep19:03:14

Is that a particular fractal in your profile pic, btw?

Rachel Westmacott17:03:59

I think I wrote it in python about a decade ago. I don't think I still have the code.

Rachel Westmacott17:03:16

It's probably not distantly related to a Julia set.

reefersleep18:03:02

Thought it looked a bit Juliaish 🤓

Rachel Westmacott09:03:59

Yeah, it has threefold symmetry though, which makes me unsure...

Rachel Westmacott09:03:12

I like to plot fractals when I learn a new language - its a great way to get to grips with some of the fundamentals of a language while also exploring their graphics library(ies) a bit.

reefersleep09:03:09

That's a nice approach! Did you do any with Clojure?

Rachel Westmacott11:03:32

I have, although it's from a time before I changed my name: https://youtu.be/zP1qStsGlFE

reefersleep12:03:01

Thanks! I’ll have to look when I get the chance and learn something 🤓 I dabble in generative art.

Rachel Westmacott14:03:31

oh nice. me too. do you have any examples you care to share?

reefersleep12:03:24

Sure. Here's a couple

reefersleep12:03:48

I mean, I'm mostly exploring techniques, still, so it's not very "deep" art-wise. On the contrary, most of what I've done feels very shallow, in my own opinion. Needs a splash of recursion 😄

reefersleep13:03:37

What’re you doing?

Rachel Westmacott21:03:21

I really like the second and third of those.

reefersleep22:03:27

Those are great!

reefersleep22:03:28

The flowery one has a lovely composition to it, colorwise and patternwise.

reefersleep23:03:03

I find the flowy line segments one very interesting visually as well as from a technical perspective. I’m not very well versed in efficient collision detection that I assume you must be employing here. Also, I wonder if you get consistently interesting output when it comes to the longer lines; in particular, the ones that loop back pique my curiosity, as someone who’s mainly used Perlin noise to control directional flow.

reefersleep10:03:25

I dig the second and third of mine as well. I've done many renderings of variations of that algorithm. Here are a couple more

😍 2
reefersleep19:04:25

Finally getting around to watching your presentation. I loved the Henon Attractor joke, that came out of left field 😄

🎉 2
schmalz10:03:38

Morning all :wind_blowing_face: :rain_cloud:.