code developed during you work for employer

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
ggodw000
Member
Member
Posts: 396
Joined: Wed Nov 18, 2015 3:04 pm
Location: San Jose San Francisco Bay Area
Contact:

code developed during you work for employer

Post by ggodw000 »

hi there, while i worked in small software company in seattle, any code i developed whether it is non-business hours was the property of the company as long as i am employed for that company. well, theoretically, i can type a code at home and just claim it was done different time while i was not working there.

how is the law regarding this? i have another situation arising now, i have another major set of code framework i did during while i am working for a current employer and i can t rule out that i might use it outside work in case if i do somethjing like startup or freelance. But for now, i wanna use it inside the current work because it makes my work and productivity more efficient, just put this way. i also wanna provide to others to promode my code.

Anyone has studied and/or knowledgeable laws regardin' this? Where I should turn to? Thanks !
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: code developed during you work for employer

Post by Solar »

I don't know the "default" law in your country, but you should not rely on that in any case. If you are doing spare-time programming, ask your employer to ammend your contract to explicitly handle your spare-time coding. That way you won't end up in court with the legal department...
Every good solution is obvious once you've found it.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: code developed during you work for employer

Post by Brendan »

Hi,

I'm not a lawyer; but (at least for some countries) it depends on what you're employed to do and how similar it is to what you do in your spare time. For example; if you're paid to write accountancy software and write a Tetris clone in your spare time, then it's hard for your employer to say the Tetris clone is part of work they paid you for (and therefore hard for your employer to say they own your Tetris clone). Alternatively; if you're paid to write accountancy software and write "different" accountancy software in your spare time, then it's easy for your employer to say it's work they paid for (and that they own); and on top of that there can be ethical questions concerning things like copyright and trade secrets (e.g. did you steal code, ideas, features, secrets, etc from your employer so that you can compete against your employer?).

The best advice is Solar's advice - it might cost you nothing to get your contract amended to explicitly allow whatever you're doing in your spare time; which is like free insurance against potential ownership disputes. If that doesn't work (and maybe even if it does work), you might want to see a lawyer (or weigh up other options, like finding a different employer).


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
moondeck
Member
Member
Posts: 56
Joined: Sat Dec 19, 2015 12:18 pm
Libera.chat IRC: moondeck
Location: The Zone, Chernobyl

Re: code developed during you work for employer

Post by moondeck »

How can they actually prove that you wrote it in your spare time and its "their"?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: code developed during you work for employer

Post by Combuster »

Contracts could have a second clause stating that you can't enter into activities that harm or compete with your employer.

In the end it's a matter of "beyond reasonable doubt". Deliberately hanging around in the grey area where private work done could have come from your employer is asking for trouble.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
AndrewAPrice
Member
Member
Posts: 2298
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: code developed during you work for employer

Post by AndrewAPrice »

Some companies have strict rules regarding equipment.

Either if it's in competition with the business of your employer, or done on work equipment (e.g. if the keys you type on are owned by your work.)
My OS is Perception.
FallenAvatar
Member
Member
Posts: 283
Joined: Mon Jan 03, 2011 6:58 pm

Re: code developed during you work for employer

Post by FallenAvatar »

moondeck wrote:How can they actually prove that you wrote it in your spare time and its "their"?
1) "Most" companies have blanket clauses in their contracts that say they own anything you do during the time you are employed (and not just during work hours)
2) They can afford lawyers and individual employees generally can't

I always read employment contracts and get exceptions put in for my free-time programming as well as side work (even if it is in the same industry.) But that is me, you need to find what works for you.

- Monk
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: code developed during you work for employer

Post by Solar »

moondeck wrote:How can they actually prove that you wrote it in your spare time and its "their"?
Do they have to prove it?

The point is, if they want to go to court, they just tell the legal department to do so. You are then facing two options:
  • Defending yourself. (Good luck.)
  • Appointing a lawyer to defend you.
That lawyer wants to be payed. From painful personal experience, I know how quickly those bills can mount up. All the company needs is to drag the whole thing out as long as possible, showering you with legal paperwork that the lawyer has to process (which results in more bills). Sooner or later, you'll fold.

I repeat my initial suggestion: Get your contract amended to explicitly name and allow any spare-time or side-job activities. Do this up front, while there is not yet any argument on the matter, as this gives you the chance to get it solved amiably.

The company wins something as well. Employees who invest spare time in the subject as well usually gain more experience in the same time span than people who just do the nine-to-five job.

I haven't had any problems having my activities -- PDCLib, most importantly -- signed off by the company. Then again, I work in Germany, where spare-time-is-your-time ruling seems to be the norm anyway.
Every good solution is obvious once you've found it.
ggodw000
Member
Member
Posts: 396
Joined: Wed Nov 18, 2015 3:04 pm
Location: San Jose San Francisco Bay Area
Contact:

Re: code developed during you work for employer

Post by ggodw000 »

thanks for great suggestion and pointers, well, my thought were evolving, something is itching me, I cant help posting here. Well this is not exactly OS development topics but I hope it wont make others made since I posted in general rambling:

so bit more of what happened was at my current worksplace, we are working from project to project trying to deliver the next and upgrade HW, SW solution aligned with the partner release. Management is trying to make more and more things by less and lesser resouces. Intially it was a vibrant environment: lot of growth, good benefit salary, but over the years, management got greedy, many knowledgeable people left except few, lot of people coming and started breaking stuff. There are not much technical training and meetings anymore, it is just now a meatgrinder place hopping from one project to another repeatedly doing what we have been doing over and over for years.

About 3 yrs ago, they have us adopted some crap automation suiteware written in python. I dealt with adoption for 1 1/2 years and lets just stay it is like a gigantic, horribly bad software managed by one person, with no coding quality, no standards and nothing like using good coding principle. Eveyone is free to add whatever crap they feel like to. After I am done, I swore to my manager I ain't gonna deal with it.

About year ago, I started working on alternate solution, it is similar to the way it is written to the crap suite-ware but far better: simplicity, code-reuse, documentation, lot of enhancements etc etc.,
After about 10 months of grueling work to make it stable, many enhancements, many features, test after test, finally i am starting to see the horizon where I am seeing extremely stable well-documented API and time is nearing that I will not be needing to write major API-s instead just fast automation test script developments using it.

Well, the scale of project is currently:
3.7M of code (could be much less because of binary files generated by interpreter)
22000 lines
150 api functions
Well this is not much, but I would rather not pt lot of emphasize on size because i have made major efforts in the past many times by shrinking by taking advantage of code re-use as much as possible, revisiting back the code over and over.

Well here is what I know, management will not give a crap about. They have pushed their crap-suite to entire department and intertwining with existing other release, test report softwares, gave major development effort to India and I can see possibly around hundreds of people are dealing with it now. I check from time to time how the quality of the software is going and people still stay they are dealing with the bugs re-surfacing from time to time that has been seen years ago!

For now, I am just using my own suite to make my job easier, all the testing are automated and planning to drink some coffee and chit-chat with others.

That does not seem enough, I also started distributing to other busy engineers simply because it works. I know this is the major challenge since most engineers i know like to do the development themselves and tend not to trust others software. For that reason, I am making a lot of improvement in usage simplicity, documentation and stability so that, busy people can quickly adopt it and started depending on it.

What I am not going to do is walk up to management and shout them mine is better, because I know they wont listen.

I am going to see how it may spread out and how many people are adopting.
Now I can not predict the future however if in case the huge number of people has started depending on my solution, I am thinking about how i can monetize.

Obvious choice for someone is try to find some avenue to sell your software back to company by quitting but the very issue I mentioned in my OP my hit me back.

Now I am having second thought, once if I can manage to popularize my solution then leave the company and offer freelance training. If this sounds plausible, option I am thinking to start working on training documents. Because of the scope of the this project I did, I know this training can last a very long time but in the end it will benefit. I know because the solution has lot of features and parts and it will take major efforts over long period of time for others to join the development efforts. It is possible if I just quit, then if management decides to use my software, they will assign people to do a continue the development but I know, from last years of experience, how people to a development job here, it will be just a another quagmire. The key is to convince management that really serious training and bring up people's skills to do the development at the level I am doing now.

After analyze my situation here are the pro-s and con-s with this idea:

pros:
- i know my solution is really best, since I know inside an out, well I simply know.
- few people, I gave them access to for sampling they really like it, because it frees them from daily grudges, hope they will spread around the word.
- it is substantial works of 10 months, huge tests after test to make it stabilize.
- it really solves the major issues that automates number of tasks and tests that we are manually doing over and over like a sweatshop for years.

cons:
- I am engineer which means lowest level and except for 1st and 2nd level managers not rubbing shoulder much with higher-ups so I cant just leave the company and tell them here is my solution and I can provide training. I feel like my acquaintances and number of people I know and my sphere of influence is really limited. Now I can really attribute it to my working style, I have been working real hard not much talking in the past years, concentrated on technical aspects and not much people aspects.
- I see the entire code is mere 3.7M, well this is one person job so however I did great job, there is so much one person can do.
- it is quite limited in scope so it will be applicable to at most 4-5 team at most i believe, the product we use is a billion dollar revenue, to make it a solution that is far reaching, far more jobs are needed.
- the solution i made is mostly related to in-house R&D and for a very specific role, so I dont think I can offer to someone else. At least that is what i am seeing at this point.
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
embryo2
Member
Member
Posts: 397
Joined: Wed Jun 03, 2015 5:03 am

Re: code developed during you work for employer

Post by embryo2 »

If your bosses are not interested then why not to ask them to sign something like "we have no need in your software"? Do you need some kind of proof for the court? Then just try to ask to replace company's software with yours and get an officially signed result (negative, as I understand). It should be enough for the court, but of course, consult your local regulations first.
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: code developed during you work for employer

Post by Schol-R-LEA »

Combuster wrote:Contracts could have a second clause stating that you can't enter into activities that harm or compete with your employer.
IME, non-compete clauses are the more common approach to this anyway, and usually apply for a period of time after leaving the firm as well; proving that you used company resources to write your side project is hard, and their primary concern is usually with theft of IP rather than locking down the programmer's effort. While I will gladly sign a NC agreement, I would not even consider a contract that claims that my own time belongs to their Almighty Corpse-Rat Interests.

But then, I've come to the conclusion that non-chartered corporations and LLCs are a Bad Thing, as is interstate and international reciprocity of corporate charters - and don't even get me started on the 'corporate legal person' bilge. Giving businessmen broad international scope is every bit as foolhardy as giving politicians the same power. If a corporation isn't serving the interests within the local jurisdiction first and foremost, they shouldn't be granted limited liability within that jurisdiction - and allowing one corporation to hold LL in more than one jurisdiction is just plain stupid.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
embryo2
Member
Member
Posts: 397
Joined: Wed Jun 03, 2015 5:03 am

Re: code developed during you work for employer

Post by embryo2 »

Schol-R-LEA wrote:and allowing one corporation to hold LL in more than one jurisdiction is just plain stupid.
It's just plain profitable. Clever. (But not for us)
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability :)
ggodw000
Member
Member
Posts: 396
Joined: Wed Nov 18, 2015 3:04 pm
Location: San Jose San Francisco Bay Area
Contact:

Re: code developed during you work for employer

Post by ggodw000 »

good advices, lot of pointers, still digesting, but common iteration is that i made an impression that i am gonna quit and start competing with current employer. That is not what I plan, I am looking to make a solution that is not possible within the company considering the environment, culture and the way things are done. Rather I quit, present the solution and convince them to sell it back to the company. The stuff I wrote can barely tout itself as a product of its own as it is very feature specific product that will only fit with what we are working on now.
Either way, I dont think it is something doable by just me alone, will definitely need a partner.
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: code developed during you work for employer

Post by DavidCooper »

You're in an awkward situation because you've done a lot of work in your own time without being paid to do it and yet the company can rightly claim that your work belongs to them. I don't know what the exact legal situation is though. You certainly won't be allowed to sell it to anyone else, but are you allowed to destroy it or can they just take it off you without paying anything if they hear about it? Is there anything in law to say that they have to pay you for the time you put in working on this at home? It sounds as if your software could have a high value, so you should maybe pay to get advice from a lawyer. The one thing that's firmly in your favour though is that if you can get the company to recognise that your software is better than theirs, they might switch to it, pay you overtime for all the work you've done at home, put you in charge of the project and pay you a lot more money to stay with them so that the project continues to be run well rather than degenerating back into the kind of mess they're working with now, but that may depend on them being a lot more intelligent than they are.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: code developed during you work for employer

Post by Schol-R-LEA »

embryo2 wrote:
Schol-R-LEA wrote:and allowing one corporation to hold LL in more than one jurisdiction is just plain stupid.
It's just plain profitable.
Not from the perspective of the community, or of the governments issuing the LLC. Even if one argues that interstate and international firms bring in more tax revenue, that claim ignores the fact that cross-border reciprocity gives such firms plenty of room for dodging their tax burden completely - the operators can claim losses in both jurisdictions while telling their stockholders that they made a profit, and be able to back it up with (technically) legitimate accounting.

In any case, the real issue is the same as with the division of political authority across municipal, state/provincial, and national lines: to disperse power and maintain a series of checks against accumulations of power in the hands of a few individuals. Unfortunately, such checks and balances are themselves a matter of balance, something that is hard enough within a single body such as a government; it really isn't possible to impose on multiple corporations if there is no final authority in place that can mandate limits on the corporations - which would require exactly the kind accumulation of power that needs to be avoided. The solution of simply not allowing corporations to cross jurisdictions is crude, but the alternatives are worse.

Perhaps this needs to be split off to the Auto-Delete, though honestly I'd be happy to drop it right here once you've made your reply.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Post Reply