Apple engineer in need of OSS maintainers
twitter.com
twitter.com
Go ahead and work on open source. Use our computers and our office and our internet if you want. If we use the software inside Netflix, please mention that on the project page if you can, but if we don't or you can't, then whatevs.
Also, if the software was created here at Netflix, feel free to open source it if it has to do with operations, but if it has to do with moviemaking, we'd rather keep that to ourselves for now.
They understand that open source software is great for the community and great for recruiting. What better way to attract great engineers than to point out that the maintainer of their favorite open source project works for Netflix?
Wow, that seems petty. And it enrages me enough that if I worked for Apple I'd immediately start looking elsewhere for a job. I can do whatever I darn well please in my personal time and any employer that says otherwise is being overbearing.
The only OSS projects that get approved to contribute to are ones where they’ve already hired most of the people that work on it. Cassandra, Mesos, and some other infra stuff come to mine. And occasionally they just buy a whole OSS company for their own use (FoundationDB).
Submitting a patch to a small library you use? A multi-month process to be told no in the end 90% of the time or more. Have your own OSS projects? Not any more you don’t.
In my exit interview I made my reasoning clear, and pointed out that as they move more into services and away from pure hardware as revenue, it’s going to be a bigger issue. Whether they agree or will work to fix it, only time will tell.
Secret hiring blacklists don’t exist. And if they did, I wouldn’t want to work at a company that uses them anyways.
I haven't heard of them sharing the lists with other companies.
Apple and other companies have also had do-not-hire agreements with business partners (basically no-poaching) but they were sued and I believe stopped doing that.
Now unofficially, your guess is as good as mine.
I heard rumors of recruiting guidelines to not accept people back who left Apple to go to Netflix back when it was the new kid on the block. I also only knew 2 people who left and came back in several years there.
Given the rest of my experience there I am not chomping at the bit to return. It’s not a great place to work in server side infrastructure. At least not until some significant cultural shifts occur.
Genuine question for anyone who gets RSUs at a public company like this. Why do you keep your $FANG stock when it is granted?
You've already paid income tax on the basis, which is the closing price the day you got it. The year long timer for long term capital gains tax starts the day you get it. So vesting $X of grants on your vesting day and holding is equivalent to just buying $X of stock on any old day. As a bonus, you're already heavily heavily exposed to that stock because A) they're your employer, and B) presumably unvested RSUs coming in the future.
If your particular letter of FAANG currently outperforms the market ("S&P 500" index, etc), I see no incentive to immediately sell it and reinvest into something else. Of course you can sell and reinvest if you see an even better investment opportunity, but most of the employees don't, they are engineers, not experienced stock traders.
> If [your company] currently outperforms the market
What does that mean? Outperforms over some past time period? That has no bearing on the future. If you have insider knowledge that you think your company will outperform the market in the future I agree it makes sense to keep, but see above about dollar cost averaging and also consult your lawyer about insider trading laws.
> most [don't], they are engineers, not experienced stock traders.
Exactly, and the standard advice for non-experts is to buy index funds. Not try and guess which specific companies will outperform the market.
Maybe I'm wrong and I'll be unemployed forever now that I had the apparent audacity to say this, but... yeah, I doubt it.
1: https://www.cnet.com/news/apple-google-others-settle-anti-po...
Obviously it's not a good idea to bad mouth individual people in your exit interview. The time for that was when you still worked there and could give it as candid feedback.
> At best you get nothing from it
At best, other people can get something from it.
In Europe I have never done an exit interview, wasn't even aware that they are a thing if it wasn't for the occasional HN comments.
Naturally you might talk with someone informally, but isn't given.
- When you hire a contract photographer to make some pictures, he owns the copyright on those pictures even though you hired him.
- The same goes for your programmer employees. They own the copyright on their work.
- Therefore you need to require your programmer employees to sign an agreement to sign their work over to you.
I am not a lawyer, but I'm pretty sure that's a gross misunderstanding of work for hire. If someone is your employee, they are doing work for hire and you own the copyright on their product. Photographers own their work because they were independent contractors and thus their work was not work for hire. I believe work for hire doesn't apply to patents, thus possibly justifying a patent agreement. But seriously, this (AFAIK) broken explanation is his opening justification?
I am a software developer, so I write software. I am employed full-time by an employer for which I (usually) write code, documentation and such, and still I own the copyright to each and every line of code or documentation or whatever I write. Simply because copyright in German law is non-transferrable. Even if I want to, I cannot sign over the copyright to anybody else, hence my employer couldn't make me sign it over to him in my employment contract. Instead, there's a clause that I grant my employer an exclusive and irrevocable right to use the work I create during my paid work time in any way he wants. This effectively leaves me with the copyright, but I don't have any rights to profit off of that work anymore, so that copyright isn't of much use to me.
I very much doubt that. Software isn't something that exists in a vacuum and even if you are the sole author of a program, it might contain or be based on trade secrets of the company.
Even if that's not the case, software doesn't generate profit on its own - you still need to sell licences or services based around it. Both of which are equally contributing to any profit a program generates.
Since it's still the employer who bears the entrepreneurial risk, there's a solid argument to be made against winning such a case.
I am curious, what rights have you retained with your work then? What are the corner cases where you might you still want exercise your copyright?
In practical terms this means mostly boopkis.
If you wrote code, the company isn't allowed to claim someone else did.
But remember that gets very murky when you are working in a team.
Depends on how the two parties set up the deal.
If you want the copyright or to change the license in some way that gives you (the publisher) more rights, the agreement will spell out those details and you could up spending more (maybe a lot more). I sometimes work with professional photographers and for pre-existing work I pay for a non-exclusive license that costs less than a commissioned piece. I also use stock photography extensively which works in a similar manner.
For commissioned photography or design work I'll insist on owning the copyright and the agreement will spell out that it's not work-for-hire:
To the extent that the Provider’s Work includes any work of authorship entitled to protection under the laws of copyright, the parties acknowledge and agree that (i) the Provider’s Work has been specially ordered and commissioned by Publisher as a contribution to a collective work, a supplementary work, a translation, or such other category of work as may be eligible for treatment as a “commissioned work” and a “work made for hire” under the United States Copyright Act; (ii) the Provider is an independent contractor and not an employee, partner, joint author or joint venturer of Publisher; (iii) the Provider’s ’s Work shall be deemed a “commissioned work” and a “work made for hire” to the greatest extent permitted by law; and (iv) Publisher shall be the sole author of the Provider’s Work and the Work, and the sole owner of original materials embodying Work and the Work, and/or any works derived therefrom.
Of course, the photographer or designer can opt to reject these terms, or make additional demands upon the publisher (more money, the right to use images in their own promotional materials, etc.)
Not sure how it works with independent contractors doing programming.
Nginx got in some legal issues because it started out as an employee’s side project: https://lwn.net/Articles/807324/
If Joel practiced what he preaches, and thinks no employees have a right to develop OSS software while on the company payroll, he needs to stop using nginx right now.
“This is where we are by default. This is the standard employment contract for developers, inventors, and researchers.”
"Before I start: be careful before taking legal advice from the Internet."
He got that much right, at least. I'm not going to argue every point, but as one with a broad range of experience on the topic I'd say there's enough wrong with that article to go find my advice somewhere else.
The one hard exception was game dev which remained a firm no-go, for reasons that never really made sense (Claim at the time was because Amazon had its own game studio?!)
IIRC the non-compete is pretty wide ranging from Amazon. Makes it almost impossible to get another tech job, depending on how you interpret certain phrases. Fun stuff.
And honestly, given your political climate and attitudes towards immigrants, whew, no way, do not want to move to the USA.
An old boss used to say "good friends make for good paperwork".
https://amazongames.com/ make games and a game engine called Lumberyard https://aws.amazon.com/lumberyard/ that's based on CryEngine.
They bought Twitch, they control a massive physical and digital distribution platform, and it's just a matter of time before they launch games that are exclusive to Prime/Twitch members. They literally control the whole pipeline. Yet another reason to break them up.
Proofreaders are not prohibited from reading books.
Concept Artists are not prohibited from creating art.
Writers are not prohibited from writing.
Teachers from teaching.
Workers from volunteering work.
The obtuse case is I work for your company as the lead engineer making TVs. All the TVs can't display blue. I then go home have an epiphany, and develop a method for making TVs blue. We fix the problem and call it day. Later still, I leave the company and sue you for infringement because I technically came up with the solution outside of work and therefore I own that code. This is the situation most companies are trying to avoid.
If you solve this problem without having the company own everything the programmer does in and out of work, then you can have stricter walls between work and home projects.
Most are actually. If you're employed as a writer, you can't just go and write what you want without permission from your employer. They usually get the right of first refusal, meaning that you have to show it to them first and if they want to publish it then they get to do so.
It took 3 or 4 months and 5 or 6 levels of management above his new boss before getting "an extraordinary one-off exemption" to allow him to finish thinking/writing his thesis and allow the university to publish it (as required by the terms of completing the PhD...)
Everyone was _pretty_ sure that would have been unenforceable here in Australia - but that there's a serious practical difference between what is and isn't enforceable in contracts, and going up against Oracle's legal team even when they're on the wrong side of the law. So he just "stopped thinking" for several months until he (temporarily) had written permission to think non-Oracle thoughts...
Your examples aren't helpful because the don't address the issue, which is risk.
In the examples provided there's really nothing about the 'personal work' that puts the employers position at risk. Which is why, by the way, schools don't generally defy teachers from teaching on the side. Or proofreaders etc..
In fact such limitations are rare outside industries with IP issues.
Apple is a $1T company and all of that valuation is up for grabs by litigious people of various kinds who can use any kind of side-show tactic interpretation of the law to make money.
So imagine someone 'working from home' on the 'same computer' that they use for work. What counts as 'work time' vs. 'personal time' when flipping back and forth between activities?
How will a judge view this?
Then you have competitive problems: you work on 'iMovie' for 1 hour, then you work on 'MyMovie' (personal) the hour. This creates ugly conflicts of interest.
Then you have liability issues if Apple is seen to be contributing to an OSS without the right legal bits in place. It doesn't matter that it 'shouldn't' be a problem, what matters is that a bad actor + a lawyer can possibly make enough of a fuss to convince a judge that there's a problem 'Apple's contribution to this OSS code materially affected my business and it was no clear in the liscencing' etc..
As we've seen with Google/Uber, this stuff is very expensive, very strategic, can be very ambiguous, which is bad.
There's so much grey in the equation, and so much at risk, it's simply not worth it for Apple and Amazon.
So if you want to work there, that's it, you can't make games.
It'd be nice if there were some kind of regulatory issues around it, but it'd have to be clear.
I also think they should be nice enough to 'wave' people's rights to do certain things, like work on specific OSS projects.
Non-compete clauses "are automatically void as a matter of law in California" [0], where Apple is based (though they have offices in other states and countries). I wonder if a ban on open source contributions would fall afoul of this law (I suspect yes, though Apple can afford pretty good lawyers).
[0] https://en.wikipedia.org/wiki/Non-compete_clause#California
Now, disclosing secrets, that's a different matter. If I go to Google to inform them of amazing killer project Apple wants to do within 5 years, that's called corporate espionage.
No reason why I couldn't work for multiple companies though. In fact, I don't even see a reason why I should even tell these companies I work for multiple companies.
I've heard of someone that did this. Held two full-time jobs at different software companies. It wasn't Apple and Google, IIRC it was something like Oracle and Nvidia or Oracle and Salesforce.
He was fired from both when they found out and presumably blacklisted from being rehired, but other than that there weren't repercussions. It's not worth it to sue an individual engineer, and for many of the clauses in your employment agreement, their remedy is limited to firing you. He did it for a few years, too, and banked up a bunch of money doing so.
One thing that surprises a lot of people who were raised to follow the rules: you have a lot of freedom if you're willing to deal with the consequences. Some people are afraid to question their boss because they're worried about losing their job; others will steal all of their employers' self-driving car plans for $680M, risking $180M in fines and possible jail time in the process. You get to decide where on the risk/reward continuum you want to sit.
You can, if you are being paid by the hour. But you probably aren't being paid by the hour, you are probably collecting an annual salary which means you might be expected to work 8-10 hours per day, not work for other companies, and other restrictions.
My contract also specifically states that I agree to work 40 hours a week.
Maybe this is not the case in a typical US employment contract?
Some of us outside CA do sign non-compete agreements, though, which is another matter entirely.
Many the employment contracts have a "no moonlighting" clause, which basically says that one won't be working for another employer during the employment period.
[1] $64Bn in 2018 - https://duckduckgo.com/?q=tech+company+lobbying
https://www.sacattorneys.com/san-jose-intellectual-property-...
The relevant quote is: "It is legal to require an employee to assign intellectual property created in the employee’s own time if it required any of the employer’s tools, facilities, or intellectual property, or if that intellectual property relates to the employer’s business or research and development."
Since Apple operates in a wide swath of the IT world, it is very likely that most OSS developed by Apple employees could reasonably be considered "relate[d] to the employer's business". That is certainly the position that Apple takes in most case (source: I am a former Apple employee).
"(a) Any provision in an employment agreement which provides that an employee shall assign, or offer to assign, any of his or her rights in an invention to his or her employer shall not apply to an invention that the employee developed entirely on his or her own time without using the employer’s equipment, supplies, facilities, or trade secret information except for those inventions that either:
(1) Relate at the time of conception or reduction to practice of the invention to the employer’s business, or actual or demonstrably anticipated research or development of the employer; or
(2) Result from any work performed by the employee for the employer.
(b) To the extent a provision in an employment agreement purports to require an employee to assign an invention otherwise excluded from being required to be assigned under subdivision (a), the provision is against the public policy of this state and is unenforceable."
This is the catch-all and I've always been curious what the seminal cases are which apply this language. For example, the charter for most corporations these days usually establishes the business for "any lawful activity", so if the scope of an employer's business is defined by the charter, then pretty much any commercially viable FOSS project could potentially be ensnared by an employer. Any IP lawyers here have some pointers to how "employer's business" is supposed to be interpreted and applied?
I lost but learned a valuable lesson, one just never knows with the law. These things are where one starts argument, it’s not where they stop.
Lawyers will have to decide how comfortable they are with the risk, and balance it against the reward. It’s totally natural that different entities will come to different conclusions in this environment.
Imagine you use KDE, and find a bug, and make a small PR with a patch for it. I can't even begin to fathom how a company can while being fair/just say that you're not allowed to do so (without "our approval" which could take months).
It's ridiculous beyond measure, and we should make it a goal to purposely get fired for doing OSS, and then also make sure to post about it online as much as possible so it draws a lot of attention, and hopefully results in a change in this.
After all, it's probably a piece of cake to land a new job (once the COVID crisis is over), if you have a Big N company on your resume, even if you were fired from it (not that you'd want to preemptively disclose that - unless you went public with it - which some folks might even see as a positive).
Off-topic: remember eating lunch at restaurants?
I understood this one way at first, then I got quiet. Our world is really different.
My grad school friend(s) at Google visited Apple, and I visited elsewhere similarly, when working at Apple HQ. Not scandalous in the least.
There are many companies that have this setup.
It could be his level of employment. Or it might be that it doesn't apply to all apple employees, or they don't know, or they don't bother.
Eating lunch at Caffe Mac was just print a visitor badge and walk across the quad with visitor.
Maybe some campuses require transiting team-specific lockdowns, but Infinite Loop for lunch did not.
Ooh that's a good one. I nearly snarfed my Pepsi.
What I want to know is how exactly do you go about getting that part of you contract removed so you own copyright and IP for work you do on your free time without the need to justify it to your employer?
I tried speaking with my company's legal department and they slightly re-worded the contract to say the same thing (basically lied to me as later my project's ownership was claimed), all my managers so far did not take me seriously and basically ignored my request to change/remove this clause, or told me they would approve anything and it would be open source anyway (another lie as my project was taken) to the point I gave up, reduced my OSS contributions greatly and only worked on things I confirmed previously were OK for me to do, which added a lot of useless bureaucracy and got me demotivated.
The only thing I can come up with was quitting my job after I negotiate with another employer to not have such a clause in my contract. But I have not done any interviewing yet, so I don't know if that is even possible.
Any ideas/hints/help would be greatly appreciated!
It's been a non-started for a couple of companies, but if that's the case, I don't want to work for them anyway.
Once I worked for a company, and me and the owner had a disagreement that wasn't resolvable so I said that I'd have to quit. She leaned back, smirked, and said, "remember that you signed a non-compete." I simply replied, "No, I didn't." She suddenly had an "oh crap" look on her face and looked at the HR director, who said, "I thought I'd get him to sign it later so we let it slide when he came on." The owner then tried to stop me from leaving, but after seeing that shark smile on her face I knew it was only a matter of time before she found another way to screw me and left anyway.
There are more of us than there are them. We all need to stop agreeing to these clauses.
California Labor Code 2870 and similar laws in some other states protect you under certain circumstances. However, you basically cannot go work for one of the bigs, for two reasons.
First, these laws only protect you if the project doesn't relate to the business, and the bigs operate in so many different spheres that basically any software project can be argued as relating to their business.
Second, it doesn't matter what the law is if a huge company decides to sue you — they will throw lawyers at you until you are bankrupt.
What you can do to minimize your risk is work for a small company which does not overlap with the space that your side projects are in. They still might go after you anyway at some point (companies can get bought and new owners may have more resources and more inclination to sue), but for open source the odds that it happens are very small.
Hiring negotiations are the point where you have greatest leverage - the company won't want to burn another bucket of money screening bozos. They've decided they want you. Go read patio11's post on salary negotiation to get the correct mindset.
An anecdote: my current employer's _standard_ contract basically says "we own what you do for us, you own what you do for yourself, and if you're getting close to a grey area you should speak with legal". So there are businesses out there that do this.
The IP rights part may have an effect depending upon how it is phrased, and what it covers (say patents).
See Copyrights, Designs, and Patents Act, 1988; section 11
http://www.legislation.gov.uk/ukpga/1988/48/section/11
"11 First ownership of copyright.
(1)The author of a work is the first owner of any copyright in it, subject to the following provisions.
(2)Where a literary, dramatic, musical or artistic work [F1, or a film,] is made by an employee in the course of his employment, his employer is the first owner of any copyright in the work subject to any agreement to the contrary."
Computer programs are deemed to be a "literary work".
The important part is that the work has to be "in the course of employment".
If the s/w does not relate to what the company does, then it would not be such. IANAL.
There are some employment contracts which widen the scope to cover stuff which is not in the course of employment.
You have already stated how one gets such resolved. Discuss with the employer and agree a change, or leave.
I've generally interpreted it as meaning acts performed in fulfilling your role/position as an employee. So if you're essentially doing free work for your employer on your own time, at home, using your equipment, it belongs to them.
Stuff done which has nothing to do with your employment, created on your own time, with your own resources, belongs to you.
Otherwise every poem, sketch, photo, or even a letter you wrote, etc that you create would be their copyright, which is patently a nonsense unless your contract explicitly states that. It would state such if "course" it referred to the time you were their employee.
The difficulty occurs where there could be a conflict of interest between what you create privately, using your own resources, and what the company employees you to do. So don't do that. However that may be difficult for companies which have their fingers in a lot of pies.
Of course next time tech unions come up, there will be 10 stories of how their uncle wasn't allowed to plug in a ventilator because he wasn't a union electrician or something.
I entirely disagree with those arguments, but I could see them being appealing to "501 developers" (https://501manifesto.dev/), and they're the majority.
It's literally on the page you linked to.
I would look for another job. While these clauses are relatively common, it's also relatively easy to find employers with less restricting policies. You'll probably have better luck at tech-led companies, in general. I think I've also heard that California's employment law doesn't allow this sort of thing, FWIW.
And companies typically have no trouble critically relying on OSS projects they have no chance of forking/maintaining if something changes that they can't accept.
They told you that already "if you don't like this then why are you still working here".
The way to get this limitation removed is to hand in your resignation. Preferably after finding another job.
Make sure that before you sign a contract at the new place, that you strike out anything in the contract that requires you to hand over IP of things developed outside of company time and outside of company resources.
Practically impossible with companies moving to electronic forms. I've found every electronic form presented to me has had less than zero ability to actually negotiate with the other party.
I've been working remotely for nearly a decade now, and the majority of contracts I've signed have been in electronic form, and for each of them there has been back and forth about certain items - IP and copyright in particular always coming up - and we go back and forth until the wording and meaning is something both parties are happy with.
Only once that's happened do I need to sign the electronic form - and that's where the negotiating leverage exists, because I don't need to work for someone if they impose conditions on me that I am not willing to accept.
It's easier when they offer you the job but all large companies will have lawyers who know what to do. It just takes willingness on their part.
Smaller companies might just be using a boilerplate contract so you might want to suggest alterations.
Basically the company wants you so they should bend.
I've recently moved to the UK to start a tech business here (https://www.hackworthltd.uk), and now that I'm on the other side of the table, I very much wanted to create a personal projects policy that was as employee-friendly as possible, while still protecting the interests of the business. I hired a UK IP lawyer to help me draft an acceptable policy, and I'm happy to share that with you, if it helps.
The intellectual property section of our employment contract is mostly standard boilerplate, as I understand it, except that it refers to our personal projects policy, which is contained in our staff handbook. I've copied the relevant sections of both and put them here:
https://gist.github.com/dhess/21b7d2d72c4f9d4e0cdd8004385ef7...
Please feel free to use it as a reference in future negotiations with your employer(s).
Comments from others are also welcome! I'm open to any suggestions for how it could be improved.
- 2.2.a I would like to not be required to tell you about them at all, and not need an approval from you before I contribute/develop, unless 2.2.b and 2.2.c apply. So basically the contract should forbid me to develop a project that directly competes with anything your company is doing (as it is right now). In case it's not competing I could ask for your opinion, in case I am unsure I am advised to ask, otherwise I'm responsible, and in case it has elements that are in competition, or work relevant then I need ask for your permission.
- 2.2.k about projects that someone "might otherwise consider inappropriate", isn't this going to far? I think 2.2.m (We cannot be held responsible or liable for anything to do with your personal project) and 4.2 should be enough, you don't need to act as a moral authority to be able to defend the company against employee wrongdoing outside of work.
- not sure how this situation (that I detailed in my post) would be handled by your clauses: a project/library I develop on my free time but end up using at work. The company should not claim it as it's own, any thought on that?
I'm bit surprised that practice is so prevalent in SV, with California Labor Code 2870 and all. Because of that law, I'd rate SV/CA as the place that position is the least enforceable (in the U.S. at least).
I have none of my personal project code on my work laptop, I’ve never searched or thought about personal project work on it and I never take professional development time in work hours (unlike many other members of staff).
I’m at work to work for the company, I’m at home to work on myself. I never blur the lines, the downside to this is that my employer massively benefits from my time investment at home but oh well, it makes me better at my job and so I’m happier.
Sadly, thinking non-competes don’t apply in the UK has led people to sign them glibly and then face problems later.
You don't.
One of the reasons companies want this clause is to limit their liability and exposure. They're not going to make a dime off of your side-show projects, so it's really not about the money, it's about the risk.
Their IP clauses will have been gone over and over by lawyers, and the costs involved in making exceptions/changes is very expensive, partly in billable hours, but mostly in risk.
Put another way: having 'your own special contract' is like 'roll your own security'. It just opens up 'legal attack surfaces' and it's just not worth it for a company that has a lot of money or IP, which makes them a troll target.
There'd generally have to be a pretty good reason for you to want to work on it, that also makes sense to the company, but obviously risk tolerances vary as well.
Apple doesn’t let employees contribute to unapproved OSS projects (even in their personal time).
So some of my projects could use a maintainer to manage PRs: <cut> If you’re interested, please let me know!
A friend of mine recently joined Google as a L5 SWE, and is making around 400k a year (he's on the upper band for L5 - couldn't make the cut for L6).
That's about 3x what very good engineers in high cost-of-living cities in the US normally make. I'd say 135k is probably the median for very good engineers at the average company.
(Of course, you could argue whether they're "very good", but I'd say they are, while noting that Google et al is obviously a different caliber, but one partially achievable with many hours of grinding on leetcode/hckerrank/etc.)
But the list of such disallowed activities should be short and reasonable.
Apple indicates this restriction against personal project work prior to hiring, and employees agree as part of being hired to adhere to it. If they do not, they are not hired.
Non-compete bans are generally structured to prohibit restricting an ex-employee’s choice of work after their departure, but only once you are an ex-employee and not before. I am aware of no laws guaranteeing the inalienable right to create and publish software IP while contractually bound not to do so.
Apple’s restriction does not prohibit contribution of work to open-source projects, but permits only those contributions approved by Apple as necessary and appropriate by Apple’s decision. The personal projects linked here were either denied that permission or never submitted for it.
Personally, I’d have to think quite hard about whether to accept this restriction if I considered working for Apple someday. Silver lining, my tiny projects are all unused abandonware, so it wouldn’t require finding new maintainers. I don’t envy the author of the linked tweet their duty to find others.
It's obviously legal and for obvious reasons, but it's both hostile to the culture of the profession at large AND counterproductive.
https://law.justia.com/codes/california/2011/lab/division-3/...
the law says that employers cannot claim ownership of inventions made without work resources, even if the employee signed such a clause, unless the invention is in competition with the employer.
Companies like Google, Apple, and Amazon work on all sorts of projects. I don't think it's possible to know what is actually in competition with companies like this, at any given time. This is probably why most require permission. With somewhere like Apple, where everything is kept secret, asking and being told no would confirm the existence of a project.
> Being the status quo for technical companies doesn't make it legal
> Is that even legal?
> That position, legally enforceable or otherwise
> (a) Any provision in an employment agreement which provides that an employee shall assign, or offer to assign, any of his or her rights in an invention to his or her employer shall not apply to an invention that the employee developed entirely on his or her own time without using the employer’s equipment, supplies, facilities, or trade secret information except for those inventions that either:
> (1) Relate at the time of conception or reduction to practice of the invention to the employer’s business, or actual or demonstrably anticipated research or development of the employer; or
> (2) Result from any work performed by the employee for the employer.
> (b) To the extent a provision in an employment agreement purports to require an employee to assign an invention otherwise excluded from being required to be assigned under subdivision (a), the provision is against the public policy of this state and is unenforceable.
Large companies like Apple and Google get away with broad rules that effectively ban unapproved open source contributions because nearly every type of software can be said to "Relate at the time of conception or reduction to practice of the invention to the employer’s business, or actual or demonstrably anticipated research or development of the employer".
If you work at a small company in California, I suggest pushing back on any rules like that. At my current company the employment contract they initially sent me required me to notify them in writing every time I created any work I felt was protected by section 2870 (any personal open source, any music, any writing, anything that could have a copyright). I had that paragraph removed from the contract. The burden should be on the company to enforce their copyright ownership, and provide evidence of ownership, the burden shouldn't be on me.
[1] https://leginfo.legislature.ca.gov/faces/codes_displaySectio...
Having worked there in the past myself, it's really weird to think back on how normal it seemed (to me) to allow an employer to put such extreme restrictions on my personal time.
I hope they change their attitude about this some day.
Yeah, that's really not OK.
Are there many developers out there that only program for Apple platforms?
I suppose if you want to be one of those developers or if you want to work for Apple, it might be not be a bad idea to contribute.
https://github.com/ridiculousfish
I wish it werent like this, people should be able to work on whatever they feel like in their own personal time.
This is so reductionist that it's blind to reality.
When they make a problem, and you quit, if you've got someone in the company that values your contribution enough to fight for you and find a compromise to get your OSS contributions back-approved or whatever, great. The employer will benefit from the loyalty you will feel towards the person who solved the problem ("the greatest boss evar"). If your boss can't make the problem disappear, then you quit. If you've organised your life correctly, you can afford a few months of job search, and your OSS contributions are a testament to the quality of your work.
(Not saying that I ever did this. And you should probably not cross-reference "git log" with my CV either.)
> Apple doesn’t let employees contribute to unapproved OSS projects (even in their personal time). So some of my projects could use a maintainer to manage PRs: - https://github.com/mdiep/Tentacle - https://github.com/mdiep/Logician - https://github.com/SwiftGit2/SwiftGit2 … If you’re interested, please let me know!
> Apple doesn’t let employees contribute to unapproved OSS projects (even in their personal time). So some of my projects could use a maintainer to manage PRs: - https://github.com/mdiep/Tentacle - https://github.com/mdiep/Logician - https://github.com/SwiftGit2/SwiftGit2 … If you’re interested, please let me know!
>> I’d love to help out with Tentacle! I’ll take a look at open issues and PRs today
> Awesome, thanks! I just gave you access. Tentacle is very low maintenance, but there’s a Swift 5.2 PR open now that looks like it may need a little help.
>> Has this ever been enforced that you know of? What are the consequences?
> No idea. [shrug emoji]
To protect myself, I have done the following:
• I make sure, before signing an “inventions” clause, to put all of my open source on GitHub a date stamp before the date when I signed the inventions clause. This way, any and all of my own open source I use on the job (usually, a password generator, but I was once at a company with DNS so broken I had to run MaraDNS locally to have a usable Internet) is stuff I did not develop while working for the company.
• I list all of my GitHub projects, state that none of them are related to what the company develops, and that any and all development is done on my own time, using my own computer.
Rather than risk that sort of loss, Apple and many other companies include clauses forbidding employees from working on outside software projects even in their spare time as standard boilerplate in their employment contracts. If you don't want to play by those rules, don't work for the company. They can find plenty of top-tier engineers who will gladly play by those rules.
While outrageous at the first glance it does make a lot of sense for me. If you wan't to work on your side project you should quit your job. Otherwise there is a big risk you might quickly burn out, be less effective at your main work.
People seem to critique overtime and time pressure on software engineers. At they same time they want to be able to code their startups after hours effectively working 15 hour per day.
Working on open source projects instead of side gigs doesn't differ much in that regard. You might hook up on your project and spend tons of mental energy on it, making your main job suffer.
It's not the only correct starting assumption.
Other things that develop from it are "employees shouldn't be allowed to have kids as it might sap mental energy from your job" - which is clearly a ludicrous position, but not dis-similar.
I'd argue your point isn't 'quite the contrary' but only emphasizes OP's point: you describe the time outside of work as 'after hours', and argue that 'forcing' people to spend this time in a particular way is a good thing.
Alas, it took so much time to get approval that we abandon our work and the OSS software. The most I was able to give back to a project that I made serious improvements for was a few bug fixes. And those were done without approval.
I work for a smaller company now and they ask for notification, but don't take ownership of OSS work.
On the other hand employees have harder times to push their own ventures. I once worked with a guy doing some personal pet project on the side. Nothing came from it in the end, but it was consuming him to the point, when he was doing some work on this during work hours.
They're simply protecting their IP as much as they possibly can. If they could ban you from using a computer at all in your free time, without getting sued into oblivion for violating human rights and such, they would.
Also there's a large gap between "starting an open source project" and "working on your side project full-time".
Usually, multinational employers have a seperate standard employment contract for each country they operate in, written with input from local lawyers. So I wouldn’t assume the IP provisions in Apple’s employment contracts are exactly the same in every country, although they would all be attempting to implement Apple’s global policies to the extent that each country’s legal system allows it.
(I have never seen an Apple employment contract, so this is informed speculation.)
I wonder how far would Apple's design go if other people and outsiders could hack on it freely.