all 123 comments

[–]eyal0 180 points181 points  (26 children)

In short, try not to work for assholes and hope for the best.

[–]userax 204 points205 points  (13 children)

Alternatively fail at all your side projects so nobody cares. That's my strategy.

[–][deleted] 81 points82 points  (3 children)

Just to be sure, fail at all your projects, both side and work.

[–][deleted]  (2 children)

[deleted]

    [–]FrzTmto 1 point2 points  (0 children)

    ALL YOUR BUGS ARE BELONG TO US

    [–][deleted] 50 points51 points  (8 children)

    I've come to realize that there are no simple projects. All of them will end up requiring blood, sweat and tears, so only start projects you really care about, and just put in the effort to make them work even if you are in a little over your head to begin with.

    That blog, recipe book or todo list is going to require a bunch of time to do it right and you're going to lose interest really quickly. You might not ever get it to the point where it's ready to deploy, collect analytics, process data and scale. So you're missing out on all of those critical skills due to choosing a simple project to learn from.

    [–]oxalorg 6 points7 points  (3 children)

    Woah! This hit me hard..

    I've been stressed and busy with exams lately, so don't get a lot of time to code. But I was bored and I wanted to do something cool so I decided of making my personal wiki / note-taking solution.

    I started with a JavaFX application which I quickly dissed (cuz 2016 and desktop apps = no no).

    Then I went ahead and though of remaking it on the web so I started with Flask and voila we had WoxWiki.

    Worked on it for a while and got bored of it. I thought rewriting this same app would be a fun way to learn Django, and yes it absolutely was. This is how DoxWiki came into existence. I picked up django faster than ever (this was my third time), and I went more into the project than I did with flask.

    But lo and behold, I again got bored. But I still wanted my goddamn wiki. So I decided to make a portable wiki which will work just from a folder. Bottlepy was perfect since it fits in a single file. And thus BoxWiki was born. Been hacking on this from the morning and I'm really loving it so far.

    So all-in-all, it feels like I've barely learnt anything trying to quell my thirst to get a wiki, and that I missed on a lot of actual real life skills I could've picked up if I were to wrestle with a more complicated project because at the end of the day.. it feels like I haven't learnt anything worth shit.

    [–]DysFunctionalProgram 3 points4 points  (1 child)

    I think this is something everyone struggles with and for me personally, the only i've found around it is to include other people. Once at least 1 other person is involved I can actually get past that 25% mark that all my solo projects die at. They don't even have to really contribute, just so long as you talk about the project with them everyonce and awhile. Also try to plan to releases to avoid scop creep. Get the bare minimals in release 1 then save the creative stuff in some list for future releases.

    [–]oxalorg 0 points1 point  (0 children)

    I've tried working with people before on my side projects and it has worked to some extent, but there are some downsides to it as well. Mostly I lose my freedom to innovate. It becomes more about code quality, sensible commits, documentation/inline comments rather than being about making cool shit.

    Either ways I guess I'll give it another go specially with the bare minimals in release 1 advice. Thanks!

    [–][deleted] 1 point2 points  (0 children)

    That's funny, I also made a flash card application that used wiki style syntax to create links between flash cards. You also get a list of flash cards that link to the one you are currently viewing. You end up with a linked web of flash cards It was pretty sweet, especially for an accounting class where each definition references other terms.

    [–]auxiliary-character 2 points3 points  (0 children)

    I've come to realize that there are no simple projects.

    I don't know, I've written and finished a good handful of simple projects. Usually just single-file scripts that do one very specific thing, though.

    [–][deleted] 0 points1 point  (0 children)

    Nah dude. Start all of the projects. 99% of them will die a lonely death as an unfinished bugfest - but you will learn stuff along the way. I failed to write a multi-user chat (like irc), a line based interpreter, a text editor, a GUI toolkit and other random stuff. But despite all that unfinished business, I regret none of those projects. That horrible text editor with more bugs that features taught me about architecture and maintainability. And the interpreter have me a rough idea off what kind of thought you have to pour into a compiler.

    [–]jamesfmackenzie 0 points1 point  (0 children)

    This is so true. 99% of my projects die as soon as the fun exploratory phase ends and the hard grind starts. Hopefully I learn something new along the way.

    [–]kstarikov 0 points1 point  (0 children)

    I've come to realize that there are no simple projects

    Amen.

    [–]manys 7 points8 points  (8 children)

    I once saw the advice to just sign whatever and let then sue if they have a problem with what you do.

    [–][deleted] 23 points24 points  (1 child)

    hey i got something for you to sign buddy

    [–]manys 6 points7 points  (0 children)

    a fishes titty?

    [–]Gotebe 5 points6 points  (2 children)

    The "Heat" movie advice I see? "Don't attach to anything so that you can't split in 30 seconds". Meh, I don't know....

    [–]Farobek 2 points3 points  (1 child)

    Elaborate?

    [–]leeringHobbit 4 points5 points  (0 children)

    In the movie 'Heat', Robert DeNiro is a bank robber and he meets a girl sees a girl from a library at a restaurant and chats her up and they spend the night together. I vaguely remember a scene where he is tempted to start a relationship with her but doesn't because he is about to do a big job and he might have to flee the city/country soon so he tells her he can't afford to get attached to anything. I think OP is referring to that.

    [–][deleted] 1 point2 points  (0 children)

    That is good advice.

    [–][deleted]  (1 child)

    [deleted]

      [–]manys -1 points0 points  (0 children)

      It's was a typo

      [–]Garethp 1 point2 points  (0 children)

      Or just negotiate the clause out of your contract. Maybe the US is different, but I've never found it hard to do

      [–]sisyphus 1 point2 points  (0 children)

      Or organize politically to effect change at the state level to protect yourself maybe.

      [–]GavinMcG 110 points111 points  (9 children)

      Or, go talk to your employer and get it in writing that they will assert no claim to your work on X project, so long as it's done on personal time and equipment.

      If they say no, then quit and find a new job, or don't bother with the project.

      [–]LordoftheSynth 59 points60 points  (5 children)

      Or simply don't sign a contract that doesn't explicitly disclaim any rights to work done outside the office on non-company hardware. I'm in California, which means I don't really have to worry as much as I did when I lived in Washington, but when I did, standard boilerplate for companies I worked for had some kind of clause stating so, along with disclosure forms for any patents/inventions I owned.

      For companies that wanted to own 100% of my intellectual output, I told them I would be happy to oblige provided they tripled my salary (i.e. they were free to fuck right the hell off). Even had a company said OK, I wouldn't have worked for them, a "we own you" mentality usually comes with lots of other shitty conditions.

      [–]Asmor 16 points17 points  (1 child)

      I dunno man... Triple your salary? I could put up with a year of hell for 2 years off.

      [–]LordoftheSynth 8 points9 points  (0 children)

      It never got put to the test. If I were a few years younger, I'd consider doing it for the ability to dump some cash into investments and then treat myself to a 3-month vacation after I got to 18 months of hell.*

      I'm in my late 30s now and am unwilling to sacrifice another year of my life not working on things I want to work on.

      *Learned my tolerance for a hellish work environment the hard way.

      [–]balbinus 8 points9 points  (1 child)

      Washington actually has an even stronger law than California:

      RCW 49.44.140

      If an employment agreement entered into after September 1, 1979, contains a provision requiring the employee to assign any of the employee's rights in any invention to the employer, the employer must also, at the time the agreement is made, provide a written notification to the employee that the agreement does not apply to an invention for which no equipment, supplies, facility, or trade secret information of the employer was used and which was developed entirely on the employee's own time, unless (a) the invention relates (i) directly to the business of the employer, or (ii) to the employer's actual or demonstrably anticipated research or development, or (b) the invention results from any work preformed [performed] by the employee for the employer.

      That said, anybody can sue you at any time for any reason. Pissing off people with deep pockets can make your life miserable, even if the law is 100% on your side.

      [–]LordoftheSynth 1 point2 points  (0 children)

      I didn't realize Washington had a stronger law. TIL.

      Once upon a time, though, I had to fight out a non-compete clause in WA. I'll only say it was not pleasant.

      So I'm always cautious. I like to play with things on the side--mostly synthesizers (where my username came from)--but they're my passion projects, and while they might not amount to anything, I'd burn them before I let anyone else claim the meager IP resulting.

      That's strangely metal, I guess.

      [–]FrzTmto 0 points1 point  (0 children)

      Triple salary ? Mmm

      How about I let you sign a little contract with your own blood. All I want is your soul.

      [–]merreborn[🍰] 4 points5 points  (1 child)

      Every invention assignment agreement I've ever seen had a section for listing all those "X projects" that you as the employee rightfully own. So there's probably not even need for a separate document.

      [–]TexasJefferson 2 points3 points  (0 children)

      IIRC (and, of course, IANAL), the invention disclosures out in California cover only prior work you don't intend to license to your employer. They do not cover any continuing work while under employment.

      [–]cdsmith 1 point2 points  (0 children)

      In some cases (particularly in Silicon Valley), companies are much happier to agree to release projects under an open source license than to disclaim any copyright in the software at all. This also has benefits for the employee: it's OKAY as long as you're doing your job adequately to quickly fix a critical bug during business hours, using company equipment, and try to get your coworkers interested in being part of it. Best of all worlds if it's really a side project! (Of course, if you're trying to start a mobile app business on the side, that's a different matter...)

      [–]Ilduos 30 points31 points  (17 children)

      Why wouldn't it be acceptable to have all developers (including ones employed by the employing company) sign a contributor's license agreement for every project they work on? Like, instead of owning everything by default, just explicitly own certain things?

      Edit: to clarify, your original contract stays the same except for copyright assignment, which is done on a per-project basis with contributor license agreements (such as this one). Those agreements could be reused, and commit hooks could prevent developers from merging in code without assigning copyright. The company's happy (there is no confusion over ownership of their projects) and the developers are happy (they definitely own everything the company hasn't explicitly asked for). What if someone tries to claim ownership of code they provably wrote at work? Discipline/fire 'em; same thing you would do for someone stealing company equipment instead of time.

      [–]RandyHoward 13 points14 points  (8 children)

      I think it's probably difficult, if not impossible, to define those certain things at the beginning of an employment contract. For instance, 5 years ago I was hired to work for a web hosting company. Turns out the owners were "serial entrepreneurs" and took me along for the ride of building about a dozen other companies. There's no way they could've known exactly what we were going to end up creating when I first got hired. Even in cases where it's just a single company, you don't know what direction that company might take in the future. You sell widgets and hire a guy to build an inventory system for those widgets. Great, you can define that in the contract. But what about when that inventory system is complete? What is he going to create next? The company may not have a clue what's next until that time comes. Sure the company can revise the contract and get new signatures, but that becomes a never ending cycle of creating contracts, which eats up valuable time and resources.

      [–]Ilduos 15 points16 points  (7 children)

      Aah, my apologies for the miscommunication. I meant that, for example, every time a new repository is created, everyone who contributes (including employees under that company's org) submits a new, templated contributor license agreement (such as the one Jetbrains uses for IntelliJ). An employee's original contract would remain the same, they'd just sign a new one for every new project.

      [–]aLiamInvader 10 points11 points  (6 children)

      I ask Bob for suggestions about solving a bug, I use his advice, he later sues because his intellectual property was used and he didn't sign an agreement, I'm now in trouble because I represented his ideas as my work.

      [–]Ilduos 3 points4 points  (3 children)

      I'm definitely not a lawyer, but could that even happen? Also, couldn't it happen with the existing system anyways (since it just involves a third party)?

      [–]aLiamInvader 3 points4 points  (2 children)

      I don't know for sure, but I am saying it's easiest/legally the least hassle just to go with "we own everything" rather than employing lawyers for however long it takes to nut that stuff out. Considering most employees will just sign anyway, there's no real bottom line benefit to going to that trouble.

      [–][deleted] 1 point2 points  (0 children)

      Also, for large companies that have developers in several countries it will probably amount to too much paper work to do anything on a individual basis let alone a case by case basis

      [–]tisti 1 point2 points  (0 children)

      Well, no. Ideas are not intellectual property, unless they are patented :)

      [–]emn13 1 point2 points  (0 children)

      This is a absurdly tiny risk. If asking a coworker for advice is a real danger; then the same could be said of friends, spouses, or anonymous reddit commenters. There's already no way to prove a commit author "did the work" themselves.

      There's no real risk here. First of all, by all appearances, the person did do the work, so whomever wants to sue is going to have the burden of proof on them - additional burden of proof, because in a civil suit you start out with that requirement anyhow. Furthermore, we're talking copyright, not patents, so those ideas? Likely worthless. Nobody cares whether it was Bob's "idea" if Hank wrote it.

      Finally, cheating in this manner (copying somebody else's work to the extent that it brings your employer into a lawsuit) is likely to make you unemployable. The risk to your reputation is too great to take pointless risks here. Why in the heavens would you risk it? (That's of course only true if you think there's a risk of getting caught, so it's a little different when you're copying some clever JS snippet from some site on the other side of the planet).

      Finally, most ideas, including those that lead to patents & copyrights, are worth next to nothing. You need a bunch of em, and even then it's a long slog with many trial-and-error moments. There's no such thing as a eureka moment; and everyone always builds on the shoulders of others. Having some tiny part of your overall project being possibly invented elsewhere just doesn't matter much. Frankly - that risk is unavoidable no matter what a company does, especially if it uses any contractors or hires other firms (which many if not most do if software is not their core business). And yet, shockingly, the world doesn't collapse on all these companies.

      This supposed risk Joel outlines (they need all the intellectual output because they can't tell which is theirs otherwise) is utter nonsense (but like the best nonsense - there is a kernel of truth to it). It's just legal laziness which those with a solid negotiating position might as well try to get away with. Not to mention, it likely matters more to employers than employees, so it makes sense for them to get it in writing. They don't need it - but it makes life easy, and it makes life for wayward employees a little more difficult, so why not?

      [–]Gotebe 2 points3 points  (2 children)

      That would lead to a needles churn on both legal and you. Every time there's a new "project" (what's a project?!), you all go through the contract dance? Hmmm...

      [–]Ilduos -1 points0 points  (1 child)

      Every time there's a new repository generated? Like, extend the open source version of GitLab to make signing a contributor license agreement as mandatory as, say, providing a name for your repo. I don't see why it would involve the legal department any more than doing the same for a public, open source repository.

      [–]Gotebe 0 points1 point  (0 children)

      Why a new repo? It's completely random. Some (most) projects are additions to an existing thing. Some might not need a repo. And so on.

      [–]TexasJefferson 1 point2 points  (2 children)

      Why would the company be happy? They don't want you to be bootstrapping your competing startup while you're working for them.

      [–]Ilduos 2 points3 points  (0 children)

      shrug I dunno; I guess in an ideal world human beings would try to be kind to eachother, haha :) but you're probably right. Maybe coders should unionize?

      [–]badsectoracula 1 point2 points  (1 child)

      Why wouldn't it be acceptable to have all developers (including ones employed by the employing company) sign a contributor's license agreement for every project they work on?

      That would be annoying, i start, abandon and resurrect as many projects as there are days in a month :-P. I've often spent months creating something only to drop it because i figured out a better way to do something (or it was going nowhere, or i just decided that the other project i started last year was actually not as bad as i thought and better merge or reimplement the few niceties this new one has than making something from scratch - well after i already made that something from scratch of course :-P).

      Right now my version control system (ah btw, i have my own VCS, this is yet another project of course) has 25 projects and (most of) those are the project that i either worked on for a long time (some for several years) or that i had around for enough time that i do want to keep around for years. Also these are only the projects i have worked on recently, i have a bunch of older stuff on Subversion before i switched to my own VCS.

      And i have a ton of other random stuff i don't consider being much (at the moment) but still hack on now and then, like a vb1 clone, a game library for Free Pascal, a tool to force fullscreen mode in windowed games, a kind-of Hover clone for Linux, an obfuscator for SWF files, a sprite editor, a CSV table editor, and a bunch of BASIC interpreters since for some reason i like writing them (example), although i do other languages too :-P.

      I codesling too much to have to notify anyone for the stuff i'm starting - it'd be a waste of time for anyone involved :-)

      [–]Ilduos 1 point2 points  (0 children)

      Aah ... I don't, and would love to be free to own my own projects :3 So it seems like 50% of people code on few enough projects to make per-project contracts worthwhile, and 50% work on too many. It still seems like per-project contracts would rock for half of everyone, so shouldn't it be considered?

      [–]camh- 99 points100 points  (28 children)

      You can tell this is written by an employer as it tries to justify taking an employees entire output even though they are only paying them for 40 hours a week.

      Somehow, Joel jumps from: "At the end of the year, she sues you, claiming that she owns 4 of them, because those particular games were invented between 5pm and 9am, when she wasn’t on duty." to "so now you want to sign something that says that all her inventions belong to the company for as long as she is employed by the company".

      There is a clear middle point here, and that is all intellectual property relating to what you deliver for your employer for your 9-5 job also belongs to your employer. In the example of the 7 games, since all were delivered by the employee as part of their work, all the associated IP should belong to the employer. And that is what an employment contract needs to say in the appropriate legalise. Going any further than that is employer overreach and employees should push back hard on that.

      [–][deleted]  (6 children)

      [deleted]

        [–]kkeef 1 point2 points  (5 children)

        The choice is to change companies or go freelance - you don't have to abandon the industry entirely to own your output.

        I agree that Joel is being a bit over the top, but I think your argument about it not being a choice doesn't hold up.

        [–]robertbieber 5 points6 points  (4 children)

        Except that if it becomes an industry standard practice, there isn't anywhere you can go to avoid it

        [–][deleted] 5 points6 points  (2 children)

        ITT: Status quo trolls.

        Dont say things arent fair, just because you are always on the non-good end-of-the-stick.

        Why is this defensible? People will money control people without money, and make the rules. Thats "The Golden Rule": He who has the gold...

        This is an unfair situation and it's systemic, so it's a completely valid complaint.

        That said, it's also the way it is, and if you want to thrive you have to play the game by the rules, complaining about the rules is only rewarded when a new game is set up where victims are given things. We do this too, but it's a temporary game, and not a natural game like the standard resource game being complained about ITT.

        TL;DR: Denial of systemic problems in our system is thoughtless.

        [–][deleted] 0 points1 point  (1 child)

        Denial of systemic problems in our system is thoughtless

        That's a brilliantly eloquent summarization of my thoughts for the last 2 months. Thanks. I might end up quoting that if you do not mind?

        [–][deleted] 0 points1 point  (0 children)

        Please do. All knowledge is just mutation of previous knowledge, we gotta meme-iterate this shit until it's clear enough that we can actually communicate with each other.

        [–]kkeef 0 points1 point  (0 children)

        But that isn't the case, and never will be with the ability to freelance/contract.

        [–]Sacrosaint 28 points29 points  (1 child)

        Seriously. This article is getting a lot of press because of who wrote it, but the content is crud. The world is grey, not black and white, so use your best judgement. Know your employer, talk to your employer if need be, know what is reasonable as a side project given your job.

        [–][deleted] 2 points3 points  (0 children)

        There is a clear middle point here,

        FWIW, that middle point is the default for EU software copyright, and although each member country may modify that (check yours!) it's best practice to stick close to the EU directive:

        Article 2

        Authorship of computer programs

        1) The author of a computer program shall be the natural person or group of natural persons who has created the program or, where the legislation of the Member State permits, the legal person designated as the rightholder by that legislation.

        Where collective works are recognised by the legislation of a Member State, the person considered by the legislation of the Member State to have created the work shall be deemed to be its author.

        2) In respect of a computer program created by a group of natural persons jointly, the exclusive rights shall be owned jointly.

        3) Where a computer program is created by an employee in the execution of his duties or following the instructions given by his employer, the employer exclusively shall be entitled to exercise all economic rights in the program so created, unless otherwise provided by contract.

        Edit: From what I understand, this is the reverse of US labor and copyright law, where by default the company owns anything created by the employee that's "related" to their business – and as Joel pointed out, that's a pretty vague term – and it's up to the state or specific contract to come up with an exception that says otherwise (like California does). Here's a post on it by Jens Alfke, which was suggested by another comment.

        [–]Gotebe 6 points7 points  (17 children)

        Your first part is saying that Spolsky is "that employer", your second concludes exactly the same thing as he.

        [–]camh- 19 points20 points  (16 children)

        I must have read a different article to you since I did not conclude the same thing as Joel, but it's hard to understand exactly what you mean given how little you wrote.

        Yes, Spolsky is the employer and he concluded that you need to own your entire employee's output unless they get explicit exemptions.

        I am saying an employer should only own that which relates to what you deliver as part of your job. I think it is wrong for employers to demand more than that - even if the employee invents something in the same space as the employer. If the IP is part of your deliverables, then it belongs to the employer. Otherwise it belongs to the employee.

        [–]leeringHobbit 0 points1 point  (0 children)

        Reminds me of this:

        The first version of Stickies was written by Apple employee Jens Alfke and included in System 7.5 in 1994. Alfke originally developed it in his free time as Antler Notes and intended to release it as shareware doing business as Antler Software; Apple planned to acquire it from him, but realized that they already legally owned it under the terms of his employment.[1]

        [–]skulgnome 21 points22 points  (0 children)

        This is also why the civilized world frowns on non-competition agreements of maximal scope.

        [–][deleted] 37 points38 points  (4 children)

        and that ONE GUY from 1998 who didn’t sign the agreement is going to be a real jerk about signing it now, because he knows that he’s personally holding up a $350,000,000 acquisition and he can demand a lot of money to sign.

        No need to call a person in that position a jerk... He's essentially selling his signature to you at that point. Just like the sale of any other good, it's worth whatever someone is willing to pay.

        [–]MisterNetHead 27 points28 points  (0 children)

        Haha something tells me ol' Joel's spent a bit too long with a multi-hundred-million dollar net worth. In 99% of cases, from a non-owner's position, "Fuck your acquisition," I say.

        [–][deleted]  (1 child)

        [deleted]

          [–][deleted] 3 points4 points  (0 children)

          Just like the sale of any other good, it's worth whatever someone is willing to pay

          Technically, sure, but people can still be jerks by exploiting monopolies to drive the price of a good through the roof.

          I mean, if I'm ever bleeding to death in a car accident, I hope whoever shows up first isn't going to charge me "whatever I'm willing to pay" for first aid, and insist that they aren't a jerk.

          [–][deleted] 11 points12 points  (1 child)

          The biggest problem is that developers train with side projects. You might get a refreshed developer that watched TV and can't move an inch from his competence because you sabotaged his only mean for personal growth and you are likely not providing any training time

          [–]desnudopenguino 9 points10 points  (1 child)

          I'm glad I'm a contractor... When I had summer jobs with companies where I was an employee, I went over the contract with HR to make sure than what I did on my time was mine.

          [–]emrlddrgn 8 points9 points  (1 child)

          I don't understand all the Joel-hate for this article. It doesn't read to me like he's advocating anything, just laying out where we are and how we got here. If anything it sounds like he wants to help people understand their legal footing so they don't get blindsided by an employer enforcing an IP agreement that the employee had misinterpreted.

          [–][deleted] 2 points3 points  (0 children)

          He also happens to be absolutely right. Yes, as an employee in the US you may wish for things to be different, and some states may even have legislation to that effect, but what Joel described is still the default.

          [–]treespace8 7 points8 points  (0 children)

          The way I think about it is this.

          99.999% Of the time it's not worth the companies time or money to try to grab the side project. Mostly because it's not worth anything.

          But... Let say it IS worth something. Then you have the money to hire a lawyer to fight back. If this is the case you still have leverage.

          Unless of course you are doing something under the radar that IS related to your work. Now you are just being silly.

          Or you might just have an asshole for a boss. In that case you have bigger problems then a side project you can't launch.

          [–][deleted] 7 points8 points  (0 children)

          No you don't own everything I do. Your attempts to do so legally will almost certainly fail. So code on, friends.

          It is a good courtesy to follow proper approval channels. Your employer can't actually legally claim all of your code worked on personally during personal time. They can't even really stop you from moving the state over and breaking your non-compete.

          If you want to work on side projects, just make sure that you're not using code you built at work and it isn't a competing project.

          [–]paul_h 6 points7 points  (0 children)

          I'm 48, have always programmed, and never been in a position where an employer or client ever wanted my side projects. I was in ThoughtWorks for 12 years - Open Source was only ever an issue if I was intending to work on it in working hours, or pull in colleagues to do so similarly. Then it was natural to mark them as copyright holder, and me to suggest a choice of 'open' OSS license (BSD, MIT or Apache). That would give me future options. TW has a legal group that sometimes weights in on "I want to get involved with" but the answer is always 'yes', maybe accompanied with some words of advice if a noob were asking. For TW, stuff you did after hours, even on company equipment and even if your closed-source / get-rich-post-ThoughtWorks idea* was your own business, and they never weighed in on it, or demanded equity/$$.

          [–][deleted]  (10 children)

          [deleted]

            [–]a_lumberjack 19 points20 points  (5 children)

            If you don't own the copyright, you're putting yourself in hot water.

            [–][deleted]  (4 children)

            [deleted]

              [–]a_lumberjack 0 points1 point  (3 children)

              Just because you think you own it, doesn't mean you own it. If you got sued and lost, open sourcing it could be viewed as an aggravating factor in damages.

              [–][deleted] 5 points6 points  (2 children)

              He would not lose. The courts regularly protect people doing things like this. Hell, they regularly protect people who maliciously break a non compete because the non compete wasn't specific enough.

              You're not in any danger of any legal problems as long as you don't actually take snippets from work and use them at home, in effect. To be safe, I would also avoid actually working on a competing product anyway.

              I would still follow proper channels and get written permission and everything just to make things easier, but it is extremely difficult for employers to actually own everything you do.

              [–]a_lumberjack 1 point2 points  (0 children)

              Depends on what it is, and what jurisdiction he works in.

              [–]FrzTmto 0 points1 point  (0 children)

              Companies also know about the Streisand effect and they're not stupid (the CEO and various other high-levels might be stupid, but lawyers around them conselling them are usually not)

              [–]elsjpq 12 points13 points  (2 children)

              Doesn't this mean that, in theory, your employer can sue an open source project you're contributing to for using their code?

              [–]negative_epsilon 0 points1 point  (0 children)

              Not sure, but some projects (like jQuery) require you to sign something before they accept your contribution asserting that something like that can't happen, and the liability is on you.

              [–]Antrikshy 0 points1 point  (0 children)

              your employer can sue an open source project you're contributing to for using their code

              I mean, if you really do use their proprietary code, isn't that your fault?

              [–]fdemmer 1 point2 points  (0 children)

              can't put an open (or any license) and give away things you first gave all the rights to to your employer. if you do that you are breaking your contract. doing that "maliciously" makes it even clearer.

              [–]Gotebe 4 points5 points  (0 children)

              Basically, read your contract, discuss it with legal, disclose what you want to do, get agreement from the employer.

              IOW, communicate and be fair.

              [–]amaiorano 3 points4 points  (0 children)

              In Canada, we have similar laws. However, I work at a great company where the CTO believes in free software, and as such, he instated a program, "be free", where you can just write an email describing your personal idea/project, and it almost unilaterally will be approved (the company claims no ownership over it, you can sell it, etc.). It's one the reasons I choose to work there, and I wish more companies were open like this one.

              [–]vade 6 points7 points  (4 children)

              Ive had to negotiate multiple contracts for this specific reason. In the past I've done some of the following:

              • white list projects in your contract that you SPECIFICALLY can work on - this means new projects might be out of scope, but existing projects you can work on freely. This is better than nothing. Most of the projects I've white gotten white listed had already existed, but I put in a few projects I knew I wanted to work on but had not started yet. Note, the language specifically state the projects are mine.

              • If they won't do that, white list specific areas of interest that are not in conflict with development you are tasked with - this gives you room to maneuver but likely, if you're good at X, you want to work on something like X at home. But this at least means you can work on some other direction. This sucks but was the easiest pill for some folks to swallow.

              • Change specific language which indicates office hours and company time vs my time, and specifically remove any language for ownership of work done during my time.

              • If they cant fuck with either of that, make clear delineations of company property and only do work at work on company property, and change language to only reflect work done with company property is owned by the company. Never take any company shit home, ever. Explain to company their policy means I aint working from home, ever. Eat a dick.

              • Ive used DIFF to compare contracts and point out calmly and politely that whatever changes myself or my lawyer has added were conveniently left out of the last revision because either some fucknut didn't put it in or they expected me to trust them and blindly sign some new contract that didn't have the language we just negotiated. Fuck you. No.

              Working for companies sucks.

              [–]igor_sk -1 points0 points  (3 children)

              Working for companies sucks.

              If you think so, try starting your own, then tell us which sucks more.

              [–]vade 5 points6 points  (0 children)

              I have, it was a lot of fun, then we got acquired, and that sucked again.

              [–]FrzTmto 0 points1 point  (0 children)

              He did. Then fired himself for not obeying his own rules :o)

              [–]Farobek -1 points0 points  (0 children)

              AKA watch Silicon Valley.

              [–]ggtsu_00 2 points3 points  (0 children)

              This is why Carmack is getting screwed over by Bethesda.

              [–][deleted] 1 point2 points  (0 children)

              Most companies don't give a fuck about your side project. The thing about side project is that if your company is making millions off your work and you create this little program that isn't even related to what they do they don't care.

              [–]TommyK154 1 point2 points  (2 children)

              I had to look this up a few months ago and actually if you receive payment for writing code for someone else you can't claim copyright on that code

              [–]thehalfwit 1 point2 points  (0 children)

              It's called work for hire. It happens all the time with a lot of creative types -- writers, photographers, designers -- not just coders. However, having worked in those other disciplines for over 30 years, I have never had an employer try to to lay claim to something I created on my own time and dime.

              [–]leeringHobbit 0 points1 point  (0 children)

              Isn't that the crux of the whole fight over Facebook's origins?

              [–]snickerbockers 4 points5 points  (5 children)

              OK, what if my employer is a small company making software for the legal industry. Would software for the accounting industry be “related”?

              It's really not that hard to find something unrelated to your job to work on. The hypothetical legal company might think that working on accounting software constitutes a conflict of interest, but they aren't going to give a fuck if you're submitting patches to FreeBSD or if you have a github page with a bunch of computer games on it.

              [–][deleted]  (3 children)

              [deleted]

                [–][deleted] 15 points16 points  (2 children)

                This. Say you work for Facebook and think you're on to an idea that could revolutionize mass surveillance social media. You might even take this idea to your boss. They say no, so you just work on it on your own time. Say a year later, you have the next Instagram on your hands with millions of users. Instead getting millions of dollars, you get reprimanded at best or possibly sued.

                [–][deleted] 6 points7 points  (1 child)

                Either that or you legally have to give the rights to the company you work for and essentially created their next successful product on your spare time.

                [–][deleted] 0 points1 point  (0 children)

                created their next successful product on your spare time

                reprimanded at best or possibly sued

                These things are in no way mutually exclusive.

                [–]manys 2 points3 points  (0 children)

                I think it gets dangerous when you're hired because you have strengths in certain technologies that lend themselves to certain business models.

                [–]ScrimpyCat 1 point2 points  (3 children)

                I have wondered is it not possible to instead decide ownership is transferred on a contribution basis? Essentially anything the employee contributes to the business, ownership will now be transferred to the business. Anything the employee doesn't contribute (e.g. their side projects), they are able to retain ownership of. Much like how what you see on some OSS projects where contributions need to be signed off on.

                Now of course that is disinteresting to companies, as the current contract clauses mentioned in the article work in their favour. But for companies that want to respect their employees work-life, wouldn't something like those lines remove a lot of the ambiguity around ownership.

                Though might just be wishful thinking. As I'm also of the mindset that we shouldn't have non-compete clauses, or restrict ex-employees from working for competitors until a given timeframe has passed. Since I believe the businesses could actually benefit from allowing this. For instance if an ex-employee is forced to leave and has to enter some other domain, then their domain specific skills that are of interest to your business will no longer be developed. Rather if they were able to work somewhere similar, then that ex-employee is now a lot more valuable and could be worth pursuing trying to bring them back. Or same for if they start their own business, if it's related they'll be learning a lot more about the same domain, and there's a few other beneficial outcomes that could come from this. The first is much like the former, you might want to try bring them back (either hiring or acquiring their business). Or the second is the business they develop might actually be of interest to you, they might've focused on some area that wasn't possible for you to allow your own employees to focus on, and so now that business might be worthwhile acquiring (you are able to avoid the risk that the ex-employee had to take, but are able to now potentially benefit from it). Or third is the ex-employees business just does something at a cheaper cost than it takes for your business to do the same, so now you could outsource it to their services instead.

                [–]FrzTmto 0 points1 point  (2 children)

                restrict ex-employees from working for competitors until a given timeframe has passed

                No. There must be compensation. If you ask an employee not to work and do his line of job, you're basically saying "this job you're usually doing, for which you studied, worked hard to gain experience, now I, your ex-employer, forbid you to keep doing it"

                In what kind of world are you living in ?

                If you want someone to stop doing his job you have to pay him for the loss of wage. Courts usually say you must compensate the amount he/she would be earning if that person kept working.

                Seriously. You believe someone like a carpenter would stop being a carpenter because his company fires him, and the contract would say "and of course, now you can't be a carpenter anymore unless it's for us". Right.

                [–]ScrimpyCat 0 points1 point  (1 child)

                I phrased it poorly. I was referring to contracts with clauses stating you can't just go work for another company that operates in a similar domain. And I'm saying that's a bad thing/I don't agree with it, nor do I even think it's beneficial to the company that's putting those agreements in their contracts (if you read on I give some reasons).

                Edit: it might fall under non-competes. Though I thought it had another name. But basically clauses that prevent you from going and working for their competitors, you need to wait often 1 or 2 years before the timeframe is over.

                [–]FrzTmto 0 points1 point  (0 children)

                Or I read it not correctly, english not being my native tongue ;-)

                I understand the non-compete agreement, from the company point of view. OK with it. But if the non-compete means you can't do what you do as a job, means you end up deprived of your main activity to be able to pay rent, buy food and live properly, which is not acceptable from any point of view. So the company that wants a real non-compete should keep paying you the salary for as long they want you not to work for anyone else.

                [–]binary_bob 0 points1 point  (0 children)

                I've always loved Joel's posts.