Fork me on GitHub
#off-topic
<
2020-02-19
>
andy.fingerhut00:02:55

The closer some open source work is to your employment/contract work, the harder it might be to convince an employer that you should be able to personally profit from selling said code outside of that business. In such cases, it seems like a one-off agreement in writing from the company is a good idea, if you can get it. My day job has been C/Python/custom domain computer networking language for N years, so Clojure open source work that has nothing to do with computer networking except occasionally opening sockets is pretty different. If I was writing a networking operating system in my open source time, it would be pretty hard to justify that to my manager, especially if it competed with my employer's products.

Alex Miller (Clojure team)00:02:48

I would have this conversation with your employer

gerred00:02:50

^ bouncing off this

gerred00:02:11

if you can, contact an employment lawyer to review your contract.

gerred00:02:46

it'll cost some $$, but depending on who it is, that lawyer can wait for your first paycheck or two, etc. etc., there's always negotiation points.

gerred00:02:16

the only person in that agreement that has your best interests in mind is you and your counsel.

gerred00:02:39

in my experience it's between $500-700 in my area for a review like that and I've never regretted it.

gerred00:02:04

and in reality none of us here can give you advice that they would give - and I mean that considering various state and national laws, etc.

gerred00:02:42

(i.e. in California, or bound by California employment contract law, they cannot prevent you from doing that work on your own time and materials and keeping ownership, with certain exceptions)

andy.fingerhut00:02:19

I think any IP/employment lawyer would agree that developing a product that competes with your employer's products, while employed full time, even if on your personal time, and you sell it and make a decent profit, you should not be surprised if they try to sue you. Whether they win or not, I don't know case law, but anyone surprised by such a situation sounds to me like they definitely should not have been surprised.

gerred00:02:01

only a lawyer can answer the specifics there. there's also situations where it doesn't even matter, but they may open the suit to hurt investment chances and/or burn your cash and/or take your perceived IP/copyrights and/or seek an injunction. all hurt in different ways.

gerred00:02:09

especially specific to products. contact a lawyer. see if professional liability insurance will cover you. some cover defense litigation fees. some cover plaintiff litigation fees. etc. etc.

gerred00:02:11

#off-topic in slack is not an appropriate place to give that answer, someone who is your counsel with privilege is the appropriate place to give you your options. 🙂

gerred00:02:41

my answers are solely based on having that anecdotal experience, which sums up to "get professional counsel's opinion and backing"

idiomancy00:02:07

yeah, and I agree with that. Which is why the Balanced Employee IP Agreement that Github uses seems pretty fairly worded.

idiomancy00:02:58

If it was related to an existing product or prospective Company product or service at the time I developed, invented, or created it, then it belongs to the Company

Crispin02:02:26

@idiomancy in some juristictions such clauses can be considered "restraint of trade" and thus make the contract unconscionable and the clause unenforcable. It all depends in what juristriction the work will be done, and what juristiction any contract dispute will be heard (this will be stated in the contract). You will need to see a lawyer familiar with contract law in that juristiction. (For me, I would just strike the clause. If they refuse to accept that then they are not negotiating in good faith and should be avoided. I believe contract negotiation should aim for win win. You should come out high fiving, not feeling like it's a war. Watch Mike Monteiro's "Fuck you, pay me" talk: https://www.youtube.com/watch?v=jVkLVRt6c1U 🙂 Its about contract work with clients, but still some good advice, particularly when his lawyer joins the talk)

idiomancy02:02:02

yeah. I mean ultimately I'm choosing between this and another offer so maybe this effectively amounts to a cheap employee benefit compared to raising their offer price.

idiomancy02:02:33

If so, then i'd classify the situation as win win

idiomancy02:02:20

I just hope they dont take it as an insult, which I do not intend. I am pretty sympathetic to the need for an employer to have such provisions in employee agreements in some form

mloughlin10:02:35

As devs we tend to be overly sensitive to this kind of thing because we deal with well defined logic all day in code. In my experience most business/legal people view most stuff as negotiable, or at least willing to have a conversation about it.

idiomancy02:02:44

Id just like it to scoped

gklijs08:02:53

Would be sweet if it were to be a Clojure enthousiast https://twitter.com/intellijidea/status/1229784389904674819?s=19

👍 8
3Jane11:02:31

For people in need of a mid-day read! Learn programming languages faster with flashcards: http://www.3jane.co.uk/posts/learn-proglang-flashcards/

p-himik13:02:56

For those who want to learn even more about spaced repetition, this article is incredibly in-depth (although, not really related to programming): https://www.gwern.net/Spaced-repetition Kinda don't even want to call it an article but I don't have a better word in my vocabulary. The whole efficient and effective learning stuff is like a rabbit hole.

Tzafrir Ben Ami13:02:29

anyone was able to use clj-kondo from within IntelliJ? I was able to use it from VScode and Emacs, now trying IntelliJ but couldn’t find an easy way…

Tzafrir Ben Ami13:02:51

thanks - not sure why but I missed it 🙂 not big into IntelliJ

idiomancy15:02:44

anybody have any idea how you would create something like core.async alts using promises? basically, yielding from promises in order of which promise returns first

idiomancy15:02:05

oh, look. es6 has a Promise.race function:

lilactown15:02:37

yep 🙂 just make sure that you can use it in the browsers you target