off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
seancorfield 2020-11-19T02:20:36.023100Z

I'm reading about GitHub Packages and it seems to be a way to host Maven-style repos that you can "upload" artifacts to from a GitHub Action workflow. I know we have Clojars so we just tend to host there by default but I wondered if anyone is using GitHub Actions together with Packages to host artifacts?

👍 1
tvaughan 2020-11-19T13:18:52.023800Z

GitLab also supports maven-style repos, FYI

Darin Douglass 2020-11-19T13:50:56.024Z

we've been looking into Packages a little bit at work. the big thing is the 50GB of storage for Github Enterprise feels like it'll fill up really quick

Mike C 2020-11-19T16:02:05.024500Z

Does anyone have any good examples of wording from dev employment contracts that navigate IP rights? We're trying to come up with a sane way of allowing (and encouraging) side projects and open source while also maintaining IP clarity on company work, without having to rely on fixed hours or work being done in the office.

2020-11-19T18:09:29.027200Z

IANAL but https://en.wikipedia.org/wiki/Work_for_hire#Law_in_the_United_States seems pretty clear and equitable if you are in the US

dpsutton 2020-11-19T18:24:22.029200Z

things can get funky. I know the emacs dev (FSF maybe) copyright assignment stuff requires permission from your employer. apple is famous for not allowing any open source stuff at all. and things can get tricky with employer owned equipment. If i enhanced a feature in CIDER using my work laptop while working on a work project, do they then own that contribution, etc. best advice is spend a couple hundred to talk over with a lawyer what you want and how to write that in a contract.

2020-11-19T18:26:54.031Z

I guess that is kind of my point, companies putting language in employment contracts about IP rights over and above what exists in the law are not putting it there for clarity and to just protect there IP, they are putting it there to cling to more than what the existing law gives them

dpsutton 2020-11-19T18:28:03.031400Z

ah you mean the default if nothing else is stated

2020-11-19T18:28:53.032300Z

like, when you sit down and draw up the contract you are doing it with your (the companies) lawyer, they are drawing it up to protect you (the company) and get you (the company) the best possible deal from your employees

2020-11-19T18:34:01.035400Z

so if you are only interested in clarity, have your lawyer create a synopsis of the existing law and just have people sign it saying they read it (they won't anyway, but whatever)

orestis 2020-11-19T19:17:12.036900Z

So, has anyone gotten their hands on an Apple Silicon Mac and tried to get a REPL going?

avi 2020-11-25T23:17:37.133700Z

I’m not sure if you got a more recent response, but FWIW, I have. Seems to work fine.

orestis 2020-11-26T07:29:23.135300Z

My wife has one on the way so I might find time to do some experiments and comparisons! Thanks for the info.

orestis 2020-11-26T07:29:40.136Z

Are you running the x86 jdk and home brew?

2020-11-27T14:57:30.157500Z

i got my m1 mac mini today. builds feel fast. im using the zulu openjdk 11 ARM, from azul

avi 2020-11-27T14:58:36.158700Z

@orestis yes. Installed with no issues. Installed OpenJDK 11 via Homebrew

avi 2020-11-27T14:59:42.160Z

I have two installs of Homebrew, one for Apple Silicon and one for Intel, as per: https://soffes.blog/homebrew-on-apple-silicon

avi 2020-11-27T15:02:30.163800Z

I would guess that’d be faster than my translated JDK, but I’m not familiar with Zulu; wanted to start with my tried and true JDK distro.

jme 2020-12-07T18:59:55.499600Z

I’ve also been using clojure on the M1 Mini for the last week or so. Very nice performance and mostly straightforward dev environment migration from a work laptop.

borkdude 2020-11-19T19:17:56.037200Z

It's so fast, you don't even need a REPL anymore

orestis 2020-11-19T19:20:55.037900Z

It should make the startup time a non issue 😛

orestis 2020-11-19T19:22:06.039600Z

It seems like even without an ARM JVM things should still run correctly under Rosetta though. But I haven’t found an experience report that mentions Java yet.

dominicm 2020-11-19T19:46:18.041Z

@orestis someone I know saw a 21->16s reduction in startup time for a big application, but ssd and ram speed improvements can account for that too

1
dominicm 2020-11-19T19:46:56.041600Z

Although the 21s was on a much more expensive machine

orestis 2020-11-19T19:58:43.043200Z

Yeah the overall benchmarks are ridiculous, these machines rival Mac Pros in many cases.

orestis 2020-11-19T19:59:51.045100Z

There’s still some compatibility humps, like eg Docker but I was wondering what the JVM and JIT would look like under emulation. Most apps suffer just 20% hit, which given the baseline performance is negligible.

lilactown 2020-11-19T20:36:25.047200Z

I’ve been looking to get a Mac mini to do more iOS dev and a bit of gaming, the latest one is very tempting given the perf reports. I think I still want to wait until 32gb+ in RAM

Mike C 2020-11-19T21:05:18.049700Z

re: the contract stuff above, the difficulty isn't so much the legal wording but trying to find a fair way of drawing a line between what is work (and owned by the employer) and what is not (and therefore isn't) when employees have hobbies that overlap with work; especially when you can't easily separate based on time or location. Nor can you necessarily say 'stuff we asked you to do is work' with more senior employees who are supposed to show initiative and define their own work.

2020-11-19T21:14:57.050300Z

again, IANAL but "a work prepared by an employee within the scope of his or her employment" seems to have you covered

seancorfield 2020-11-19T21:23:59.054700Z

@clarkema One thing to consider is perhaps to explicitly state that the company does not and will not claim IP rights to any open source software projects to which the employee has already contributed prior to <insert date of employment>. I've specifically asked employers to add that to my employment contract in the past, before I would sign it. That at least makes it clear that they can safely continue contributing to any projects (including their own) to which they had already contributed. It doesn't cover any new projects they might want to start while employed but that's open to future negotiation anyway since both parties would need to establish that such projects are not within the scope of his or her employment (and it's best to ask on a per-case basis IMO).

Mike C 2020-11-19T21:28:13.055400Z

That's an interesting approach. The scope of employment thing seems wide open to later argument; defining that scope is generally the crux of the problem

phronmophobic 2020-11-19T21:31:19.058800Z

i'm not sure it's completely possible to perfectly draw the line. The issue is that as an employee, even if the line is drawn well, if the employer is a jerk and sues or otherwise acts in bad faith, you're in for a bad time. same thing if the employee acts in bad faith, although employees generally fewer resources for being a jerk

seancorfield 2020-11-19T21:32:31.060500Z

True. And of course an employee's "scope of employment" can change over the course of their employment. The company might start a completely new product in a new niche and the employees assigned to that might now find that some cool project they wanted to work on outside work would now overlap with what the company is paying them to do. I always ask a company about its open source policies during my first interview with engineering management -- I suspect a lot of engineers just don't think to ask about that 😐

phronmophobic 2020-11-19T21:34:12.061700Z

as an employee who has cared about retaining IP in the past, I think @seancorfield’s point is really good. additionally, having an employer that seems authentic about caring about allowing employees to do their own thing helps. however, I personally try to avoid work that has overlap with side projects I care about.

seancorfield 2020-11-19T21:34:34.061800Z

Which is why I like that clause explicitly drawn out in the employment contract -- it gives the employee at least some recourse for existing/prior OSS work.

2020-11-19T21:36:17.063700Z

scope of employment is also about you doing work for your employers benefit, so just because an opensource project overlaps with something at your place of employment that does not automatically make any work on that project part of your scope of emplyoment

👍 1
phronmophobic 2020-11-19T21:36:25.063800Z

I definitely think having clauses that match what you're looking for are important, but I'm also pretty aware that if the employer wants to sue or give me a hard time, they probably have more resources to outlast me, even if I'm in the right

seancorfield 2020-11-19T21:37:37.065900Z

Aye, and our employer is extremely supportive of that.

Mike C 2020-11-19T21:37:40.066200Z

I think @smith.adriane is right about it being impossible to draw the line perfectly, which is what leads many companies / lawyers to horrendous, overly-broad monstrosities that try to lay claim to your whole life. That's what I'm trying to avoid

2020-11-19T21:38:00.067Z

what @seancorfield is saying is basically being prematurely defensive about your IP rights as an employee, which I think illustrates how brazen and common it has become for companies to just demand this stuff

phronmophobic 2020-11-19T21:38:00.067100Z

I will say that it's still important to try and draw the line well!

seancorfield 2020-11-19T21:40:44.069Z

I mean, the main reason I maintain most of the Clojure libraries I do is because we're using them at work -- and I get to work on them during work hours (as needed), so I'm essentially being paid to work on OSS that my company does not claim IP rights over. But I also trust my current employer 🙂

Mike C 2020-11-19T21:41:07.069200Z

I like the "for the benefit" part here

2020-11-19T21:41:10.069500Z

not working for jerks has lots of perks

😄 2
2020-11-19T21:48:34.071700Z

you know lein got started (inspired by stu's lancet) because technomancy was fed up with the maven multi-module build we were using at sonian

Mike C 2020-11-19T21:48:34.071800Z

Possibly the problem is due to lumping 'IPR' together, instead of breaking into different assets and thinking about what the company is really worried about (code export and reuse vs 'ideas', etc.)

Mike C 2020-11-19T21:48:52.072600Z

and then trying to apply a blanket protection to different classes of thing

2020-11-19T21:49:29.073200Z

and then basically as soon as it was released our boss came and ripped the multi-module build out of the git repo replacing it with lein

2020-11-19T21:49:48.073600Z

what a tangled mess of scopes of employment that would be

dpsutton 2020-11-19T21:52:29.074800Z

i was thinking about lein a bit today. maven search results have coordinates formatted for easy copying for lein. I was wondering how to get the format for tools deps in there as well

dpsutton 2020-11-19T21:53:15.075700Z

this kind of thing

Mike C 2020-11-19T21:53:29.076300Z

Yeah, that would be messy! I suspect it's unique to jobs like software dev (I doubt too many lawyers write contracts in the evening for fun.) I've certainly written software inspired by frustrations at work, but done in a different language or using a different approach than I would have used had I been on the clock

dpsutton 2020-11-19T21:53:53.076700Z

had leiningen offered some kind of commercial add on you may have found out

2020-11-19T21:57:50.079200Z

a few of the operations team at sonian started sensu for monitoring stuff (I believe at work, but not entirely sure, wasn't on that team), they left to start a company around it(no idea if or how that was arranged), and as far as I know that company is still around while sonian got bought and disappeared down the gullet of some larger company

2020-11-19T21:59:06.080200Z

so like, it does happen, side projects going commercial

jakebasile 2020-11-19T21:59:09.080300Z

Sonian still exists, as part of Barracuda :)

Mike C 2020-11-19T22:01:10.080600Z

that must have been an interesting discussion!

2020-11-19T22:03:34.082500Z

we had a guy, I forget his title at the time, maybe vp of engineering, who spent most of his time between coming on and then leaving for his cloud monitoring startup, building spreadsheets of all the random ec2 instances we had running wasting money

2020-11-19T22:04:28.083500Z

(and then the vp of product left to start a different company that as far as I could tell was also a cloud monitoring startup)

2020-11-19T22:05:11.084Z

to be a fly on the wall for that

Darin Douglass 2020-11-19T22:05:30.084100Z

we still use sensu, so i guess no harm, no foul ¯\(ツ)

Mike C 2020-11-19T22:18:45.084600Z

thanks for the discussion -- it's useful to get some other perspectives 🙂

sova-soars-the-sora 2020-11-19T23:24:44.084900Z

First time hearing of cryogen for static blogs... neat!

seancorfield 2020-11-19T23:39:21.085Z

I've been very happy with it so far -- and the team of maintainers seems to be pretty active. There's a #cryogen channel if you need more info/have Qs.