An apology to open source
chartjs.org
chartjs.org
1) If you are a technology company, this is Harakiri (http://en.wikipedia.org/wiki/Seppuku). You are alienating every developer who is worth her salt. If you have a recruiting arm, and they are trying to recruit, god be with them. Ofcourse, you think people will never come to know, but this has the potential to be a good story and press will pick it up. I will not be surprised if Techcrunch or Wired Enterprise picks this up first.
2) Strategically, this is so uncool. You could have leveraged this open sourcing in several ways. Made the codebase part of your official Github ( ever heard of Bootstrap?) and drummed up participation. If THIS was the product, you could leverage the free PR to accelerate user-acquisition. Nick had some amazing documentation, and he even got SUCH a cool domain for you guys.
3) Eventually, you will lose Nick, who seems quite competent, who will move on to do better things under the umbrella of better employers.
Pretty lame, on several counts.
'Sadly though, due to concerns from my employer regarding intellectual property and similarities in projects I've worked on, I've been asked to take down the site.'
We have no way of assessing the validity of these concerns from what has been said. If the company feels the open source project contains work they have funded, and don't want to release, then it is their right to ask him to withdraw it.
Also, unless Nick is primarily driven by open source participation there's nothing to say they will eventually lose him.
At the sime time, there are two different rights; copyright and "usage right" (not sure if that last thing is translated correctly), which means that you own the stuff you've created, but you can transfer the right of using it to someone else.
EDIT: From personal experience, I can also tell you that IP policies are less clear at the undergraduate level around here.
I was pretty sure this policy of students/academics own their own copyright but share in patents was the standard in United States higher education.
What you're describing sounds pretty similar to the way it works here, but the gross majority of full-time graduate students in engineering are employed by their universities (as "research assistants" or similar) and thus effectively waive their patent rights.
(FWIW, I think it's great for schools to share in patents which originate within them, but I would like to see students and staff be more well-informed on the subject, and commercialisation efforts which span beyond a single industry--I know of very few schools which have accomplished that.)
I agree -- if I was the boss in this situation the open source thing would be allowed to continue.
EDIT: Many people have pointed that its not the correct company.
EDIT2: http://www.expert-24.com/ seems to be the correct company, and seems more plausible to have IP problem with chart.js (don't got lynch them, seriously!)
This may have been uncomfortably close to his closed-source day-job.
Without details we don't know.
And eventually everyone moves on. Company loyalty is dead.
I am a huge fan of Open Source, but not every company is, and I don't think it makes them a bad employer to have acted this way, given these supposed preconditions. You're correct that pay is only part of the equation, loyalty and respect are also very important. This action doesn't necessarily mean that these things are lacking.
It may well do of course, the world is full of assholes :)
If tomorrow I wake up with a developer open sourcing part of the work he does for us I would sure be very unhappy.
You just can't condone that kind of initiative or in a couple of days your whole IP is on the Internet.
Just a small anecdotal datapoint.
This depends on what the work's being done for. If it's for a class or a credit giving research project, the university usually does own the IP in most cases.
However, if it's a side project that's not using any of the university's resources, the university shouldn't have any rights to it.
Basically, the person paying owns the work. If you pay, then you own it.
Most of them exempt things made on your own time.
University of Kentucky claims rights to almost anything (even "drawings") students make while in any of "certain University units" (including the "Computing Center"): http://www.adec.edu/intellectualproperty/uky.html
It's not clear whether a dorm room is one of those "certain University units" or not. I don't think so, but it'd depend on the phrasing of the dorm room mission statement.
These policies are not trivial to sort out...
"We don't have any such policies in place at this time. The university has initiated a faculty interest group which meets regularly to discuss these issues and similiar DL opportunities. Some interesting things are coming out these discussions."
If the University decided to assert their IP rights they could either demand a licence fee or the removal of the library from any of the company's products.
I don't know what's worse, the abuse of the spirit of FOSS or the bad taste left in our client's mouths.
Agree that its lame though.
* Highcharts JS (http://www.highcharts.com/)
* Flot (http://www.flotcharts.org/)
* NVD3 (http://nvd3.org/)
* morris.js (http://www.oesmith.co.uk/morris.js/)
* Rickshaw (http://code.shutterstock.com/rickshaw/)
* jqPlot (http://www.jqplot.com/)
* gRaphaël (http://g.raphaeljs.com/)
* YUI charts (http://yuilibrary.com/yui/docs/charts/)
* Polychart.js (http://polychartjs.com/)
Have a play: http://www.highcharts.com/demo/
Their site isn't sexy, but the code is solid and very easy to work with.
EDIT: Their site was updated and looks pretty good now. http://www.flotcharts.org/
Personally, I'd only use libraries that are based on D3.js so that in case you need some individualization you can more easily hack it. AFAIK, nvd3, rickshaw and xCharts are based on D3.js
And TONS of examples: http://bl.ocks.org/mbostock
Not that the company is necessarily in the wrong to ask that the open source code be taken down, but that the community should persuade that company that it is in their interest to keep the code available. (For reputational reasons AS WELL AS all the other benefits of supporting open source.)
Documentation (basic, no CSS): http://danielsamuels.github.com/chart-js/
the fork docs point to the original site, which was taken down :-(
Edit: docs are in index.html, but w/o css
I'd wager this was a threat from an immediate manager. Go over his head. Explain you did this as coursework. Have someone explain the company's view of these "similarities" - Just because their app sorts entries in a table on an iPad doesn't mean publishing that sort.js you built in class is an IP problem. See if they'd be willing to generate some goodwill amongst the OSS community by allowing you to put chart.js back online.
DO NOT SIMPLY ROLL OVER.
And if you get stonewalled, these are probably not the kind of people you want to work with. Start looking for a new job. Don't fear for this one. Programmers, developers, software engineers (pick your flavor) are in high demand.
EDIT: Apparently he made it before starting his job. Yes, that makes it quite a bit more fishy.
Many places have terrible and unhealthy, but legally binding contracts regarding work done in your own time while employed. :(
Without more information we can't know, but its far from given that their position is legally ambiguous.
Believe me I had to learn it the hard way.
If you choose to work for that type of organisation, it is therefore similarly widespread practice for anyone who's any good to demand that the clause be replaced with something more equitable, probably using magic words like "in the course of your employment" or something similar.
I don't know what default rules apply under all possible circumstances in the absence of any explicit agreement, but if you work in an IP-related field and don't have an explicit agreement about IP rights in your contract, you're crazy. :-)
I'd love to know what you mean by that! :-)
If they're smart enough to let the managers who need to get real work done override the paranoia of the corporate legal and HR departments, they can still hire good people by allowing flexibility in the contract when these over-reaching terms are almost inevitably challenged.
Some places just won't deviate from their standard contract and if you want a job with them then you just have to suck it up. Strangely, I don't know many good creative people who work for those places.
The same could be applied in reverse: if he wrote a considerable part of the code before entering employment and did use it at his place of employment, what does it say about the employer's right to use it? Or is it "since you're working here now, we can use all you ever wrote exclusively even if you didn't license it to us"?
If after Nick leaves they would be on shaky ground if they used it on other projects that Nick hadn't worked on.
IANL but that's my understanding of the law in the UK.
If post-doc, humorously, in this day and age, this would likely mean the university owns it, rather than the employer.
Undergrad, a number of universities have started having students sign agreements giving them rights, but most don't.
Most universities, or most students?
It's a trickier area. Post-docs are usually paid, so the universities have a clear work-for-hire claim. Because Undergrad students aren't usually paid, it's a much harder claim to make (
I'm aware of post-doc agreements being litigated and upheld, but am not aware of any litigation on the undergrad side.
Start looking for another job, immediately. Don't hesitate. Don't think these guys are 'ok'. As soon as you find another job, resign. There is more and worse coming down the line. You need to get out of there as soon as you can.
An apology to open source
At midnight on the 18th March 2013 I posted Chart.js online. On the morning of the 19th March, I've had to take it down due to IP concerns with my current employer.
It had been my final year university project I had been working on for a couple of months. I had intended it to be an open source project for the web design and development community.
Since posting it online, I've been completely overwhelmed and hugely grateful for all the support and kind words.
Sadly though, due to concerns from my employer regarding intellectual property and similarities in projects I've worked on, I've been asked to take down the site. My job and livelihood have to be my primary concern. With this in mind, I have closed down the site, and removed my master branch from Github.
I'd like to personally apologise for taking this away, I'm just as disappointed as you.
Nick
Sad, but a fact of life if you deal with businesses.
In some cases, your whole department (i.e., bosses and bosses' bosses) could be in open support of this project, but the legal department could shut it down.
Hell, the CEO could be even in support of it, but still be overridden by the legal dept for a bunch of valid reasons.
Hardline dickery deservers to be repaid in kind.
Ah: Edit still available: Destroy was the wrong word. Make inaccessible to everyone, including the employer as if erased. If the employer claims exclusive ownership you have a bargaining chip. They may own it, but they should pay for it.
The company didn't get a lawyer involved and force him to take it down, they expressed concern - the author apparently agrees that it's related or similar to work he did while an employee, or there would have been a bit more argument than "oh, ok".
What you're proposing would of course be fine - the company isn't claiming 'ownership' of that code, just suggesting that it might be infringing. But I don't get the impression that they're using that charting library, just similar code written by the same author. They wouldn't be hurt by that at all.
Sounds kinda fierce to me. I suspect if he'd refused, lawyers wouldn't be far behind. Perhaps I'm just jaded. I've seen some pretty egregious overstepping by companies in my time.
I'm still calling it a dick move. A great deal of what makes him valuable to them, he likely learned at home doing this sort of thing. He may even be driving the product's direction somewhat with his personal exploration.
I read that as reaction to the project by the public (i.e., tons of page views), not as the reaction of his employer. It's quite possible that his company was quite friendly about the issue.
While it's unfortunate to lose an open-source project, there is not enough information to know whether Nick or his employer is the overstepping their bounds.
Not if the company are claiming ownership (even in the vaguest of ways) of the code and think there is some value in it - in that case "destroying" it could be a remarkably bad thing to do.
[NB I have been involved in litigation over ownership of code and although we were 100% in the right it was an appallingly stressful experence - mostly because logic seemed to go completely out the window once things turned nasty].
No matter what you signed as an employee, OSHA(1) has rules about how long you are required to work without overtime. Its a clever end run I've seen used around "we own everything you do at any time" BS that employment contracts often have in them. Yes, they may own it, but they will have to pay for the time taken to create it. Usually when faced with a big bill, thy decided it wasn't so important to own it after all.
(1) Sorry, that was dumb. OSHA just enforces some of these rules. The rules are actually The Fair Labor Standards Act.
They'd have a tough time proving ownership of that code unless he was also using it in one of their applications, but that crap can get very complicated.
I've not heard of OSHA being involved in employer IP issues, nor in any software engineering environment.
Destroying something the company claims as their IP would subject someone to some serious criminal and civil liability.
Also, if the guy didn't like his job, he'd probably find another one. I get the sense he wants to keep this one and maintain a civil employment.
Not necessarily true. Its a big can of worms that I suspect an employer might not want to pry open.
http://www.flsa.com/overtime.html http://www.flsa.com/computer.html
Maybe in places like USA which has very poor employment law. However in the EU there isn't really that distinction, and employment law applies to all employees.
Not true. Software developers are mostly exempt, but there are some that will be non-exempt from overtime based on their salary. If the person makes less than $455 a week as salaried or less than $27.63 an hour as an hourly employeed then they will be non-exempt (http://www.dol.gov/whd/regs/compliance/fairpay/fs17e_computer.htm). However, I have a feeling it would be hard to find somebody paid at that rate.If I understand the law correctly (e.g., http://www.itstime.com/may2006.htm) having pay above the $455/week threshold is only one of the conditions for being overtime-exempt; the other conditions have to do with extent of job responsibility.
I have to wonder: why is it that someone thinks they can retroactively demand overtime pay for work that wasn't agreed in advance?
As a contractor, I really don't understand this attitude.
They shouldn't. They then also have no duty to supply that work free of charge to someone who never agreed to its creation. (Which is what he was willing to give by open sourcing it btw)
So no. The agreements the OP had with his company are irrelevant to his work hours. If OP did open source work on his free time, then later is asked by his company to take down said work, and complies, he is not entitled to any compensation, other than what his employer voluntarily offers him.
It's not that I don't like open source. I contribute to it myself.
The point is that when you agree to something, that is binding.
OP is not saying "make them pay for having to take chart.js down", OP is saying "make them pay if they want to claim ownership of chart.js and want to use it internally". Big difference.
I'm not sure, but I think the author lives in the UK. OSHA appears to be some USA thing. But this is good for the author. The EU has better employee law.
I wasn't able to do anything, not even in my spare time, to contribute to open-source projects or do other work. The other work I can understand, because I could help a competitor for an example.
But that they owned ownership for every line of code written by me, even on my time off, was killing my inspiration.
Somehow, as if by magic, as soon as you become a freelancer people stop caring about butt-in-seat time and start caring about results. Same goes for IP, I have never had a client complain about opensourcing something I made on their buck.
Where were you working? That's definitely not how US ip-law operates.
The rule initially was made to own rights to images and articles from photographers and journalists, so they couldn't sell to third parties, but was extended to also include code.
Every employment contract I've been asked to sign has had some level of owning stuff I do off-hours (up to everything you do any time on your own computers, everything you've done in the past, etc...).
I've always pushed back and gotten it changed to meet my needs.
It is a good signal that they will attempt to prove infringement on your outside work though, and you can't ever guarantee a win in that kind of court case; the case-law is too messy and depends heavily on unproveables like 'intent' and 'reasonability'.
No, it literally can't. It can be somewhat similar with contracts that promise a transfer of IP, but you'd get sued for breach of contract, not for copyright infringement.
That doesn't stop companies from putting draconian claims in their contracts and manuals, and it doesn't stop them from trying to prove infringement anyway (no copyright case ever is a 'sure thing'), which is enough to scare most employees into toeing the line. But they can't actually make unrelated work you do on your own time automatically 'work for hire'.
Here's a solid discussion of that topic: http://www.copyright.gov/circs/circ09.pdf
The pivotal words are "within the scope of his or her employment" - these words can get a little fuzzy, but http://www.wisegeek.com/what-is-scope-of-employment.htm is a reasonable (though not authoritative) discussion of the topic.
The problem from the employee's point of view though is that it may have to come to court before the employer will back down and there are costs in terms of money, time, and relationships associated with that especially if the company goes for the appeal cycle afterwards. Most individuals can't afford the time or cost of such a case (though costs are likely to be recovered from the company eventually, you need to find the funds up front) if it comes to that, and the software industry can be fairly judgemental and nepotistic so it'll be hard work getting a new job (once life becomes unpleasant at the old one due to the court case) now you have a reputation for being difficult. These considerations are why individuals back down quickly, as the assume the conversation will go:
Company: We own that.
Individual: No you don't.
Company: Contract says so.
Individual: You can't enforce that.
Company: We can try. Wanna fight?
Individual: Er, no. Here, take it.
Companies know the clause is not legally enforceable, but they have it in there because they know it generally doesn't have to be as most people will not argue as far as the legal status of the clause being relevant (in fact most people don't even know that it isn't legally enforceable). This is particularly the case for younger people or those otherwise near the start of their career.Most non-compete clauses are in a similar legal position.
I wouldn't be comfortable with that. If you have gained knowledge on Redis, you should be able to use Redis in a personal project. It would be different if you had developed a super secret ranking algorithm that you later re-implemented in another project.
One place said they couldn't amend the contract, but wrote that they had no interest in code I wrote outside of work. A lawyer friend said that was close enough to be a contract amendment and I needed the job, so I signed. Another place happily amended it so they only owned what I made on company time with company resources. Problem solved in an amicable way.
The problem was also that we had two legal documents, the contract, and the "house"-rules. The contract just stated that "The contract refers and includes the house-rules".
It would require a lot of rework for them to rewrite my contract so only the part about ownership of code was amended, but all the other house-rules still applied.
It was my first job after finishing school, and the place was nice, and I figured it wouldn't be a problem, but I was wrong, and it kept irritating me.
Not once has any company refused such a change.
+ Worded appropriately, of course.
Newspapers, commercial kitchens, design studios. All of them used open source software like PHP, jQuery, etc.
I developed a lot of jQuery plugins that will never see the light of day.
Who is going to hire this guy away from his current employer?
- Nick Downie (chart.js author) on twitter just now.
This is between Nick and his employer at this point, and trying to enact swift internet revenge on his employer is not going to help Nick, particularly when we've only heard one side of the story, it's hard to draw any meaningful conclusion.
Source: https://twitter.com/_nnnick/status/98344434948771840
@masukomi @radweb I don't work at Radweb. Lets not turn into an angry mob please, Internet.
I've made a few open-source contributions through the company (https://github.com/danharper and https://github.com/radweb).
Chart.js looked like an awesome library, it's a shame what happened.
Clearly in the former case, the employer would have a more legitimate reason to express concern than the latter. However, in any event, as other posters have identified, there could be very positive PR benefits from supporting the open sourcing of the project.
In any event, the main justification for retaining the secrecy of a project would be to maintain a competitive advantage however, the extent of the competitive advantage is dependent on the complexity of the code and the ease with which equivalent functionality could be reproduced independently. That's a subject which I would be interested to hear more on.
Someone exposes code, FOS'ing it (apparently MIT), here comes "the internets", it likes what it sees, exposes to both forks and HN positive comments, along comes employee's manager and cuts the story short, IP issues and whatnot (for JS, really?!)...
The internets will either rename it; rewrite it, use it anyways and ignore the anonymous business, maybe keep the Nick name either associated/thanked or a part of it anyways...
Now the company can either get ready to start some bound-to-loose IP fight over this, which I'm sure has a great ca-ching sound on some poor manager's brain; along with zero chances. Or the business can capitalize on the positive feedback, maybe become a part of a greater good.
I don't get what's so complicated
Ca-ching sound vs. boring rationality... How can rationality work if nobody can know how those weard hackers think? Ca-ching for the world! (Yeah, in case you are wondering, I know what is wrong with that, you don't need to point out.)
Anyway, the most likely explanation is that Legal is following their procedures, and as usual for procedures, there can be no exception (or rationality).
If he was a full-time employee in the US, a contract wouldn't be necessary for this to be an issue. All work done by an employee on company time or using company resources is 'work for hire' (a term often misused in the software contracting industry, where it rarely applies), and that IP belongs to the company.
>In my experience, most good companies are OK with it.
Most good companies are sometimes 'OK with it'. It depends on how much it will affect their competitive advantages in their field. My employer would probably sign off on open-sourcing a charting library, but not a graph layout library, for example - displaying complex data as graphs is near the core of our business.
Certainly most companies will not grant you a blanket right to open source all of your work for them.
We use Rails pretty heavily for presentation, though our apps have been leaning more and more on Backbone.js, and most of the core science is performed in some C code largely written by one of the founders, O.R. prof Roy Marsten.
The business/marketing site is at emcien.com, and the (fairly new) engineering blog is at engineering.emcien.com. Management sadly isn't interested in long-term remote devs yet - we're in Atlanta, GA. It's a great environment though, in the sweet-spot between risky startup and heavy corporate work.
Right, but you can still address this when you're negotiating the terms of your employment.
> Certainly most companies will not grant you a blanket right to open source all of your work for them
agreed, but many companies will be ok with open sourcing individual components, especially if it's done so under their name.
My point is this is another tool for you to use at negotiation time when they've reached a limit on price / other benefits.
But it's not really something they can honestly negotiate with - they can't commit to releasing anything until they can see what it is, and how likely it is to help their competitors.
But the code written by the same staff during the off-hour should belonged to the same staff.
I am running a startup in Hong Kong, and I am thinking of adopting this kind of policy.
Even if the company is friendly today, it's worth noting that one should -never- use company-owned resources or time (including laptops) for personal projects. You can get into a situation where the a claim could be made that since company resources were utilized, that real financial value was contributed by the company towards its creation, and some ownership could be claimed.
Whether or not such a claim would eventually prevail in court is orthogonal to one's ability to fund the experience in discovery.
Work performed by an employee during the course of operations is considered 'work for hire', and is the intellectual property of the employer. If he then goes on to replicate a large quantity of that work 'on his own time', he is most likely infringing on that work that he previously did (unless he's very careful about it. Since he didn't seem aware that it was a potential issue, he probably was not).
Now, it's not obvious that the employer would have won such a suit, but it's not a frivolous and un-winnable case either. It's generally best to talk to your employer about this sort of thing before releasing it - if they had been real jerks, they could have sued him for infringement despite his taking it back down when they asked.
Wouldn't company had no right to use the code that he wrote for them because it would mean infringing on his copyright, or copyright of his mom if he sold the rights to the original software to her?
Personally, I would write that 'previous work' as a library, open-source it, and then use the library at the company later. That's clearly safe.
And yes, the entire concept of IP is on the strange side and needs some dramatic revisions, I'd agree.
Technically, this means that they own the bedtime stories that I make up for my kids. And certainly any open-source code that I may write in my free time, even if I used absolutely NO company resources and worked only on evenings and weekends.
But this story has a happy ending: I signed it (I like getting paid), then went to the company lawyers and raised the issue. I used the "you own my kid's bedtime stories" example and provided alternate language they could consider. (My alternate language said they owned it only if it was written using company time or company resources or if it related to the line of business the company was in.) The next year, they changed it to a variant of my proposed wording (actually, they used "only if written on company time or using company resources" which was an even more expansive exception).
Of course then a few years later we got bought by a new company, and they had a different clause. So I started a conversation with THIS company's lawyers. . .
You know how practically every contract you sign anymore has something to the effect of 'invalidating some portion of this contract does not invalidate the rest of it'? The courts have held that an unenforceable clause in a contract that is not indicated as 'severable' will make the entire contract unenforceable. Instead of doing the pleasant thing, and making contracts that stay within in the bounds they are allowed by law, companies started claiming that every portion of every contract was severable.
What this means is that they can throw any kind of crap in there, whether they could actually invoke it or not. Add that to the fact that the majority of the population of the US doesn't even read the contracts they sign (seriously, they don't), and companies are incentivized to throw the kitchen sink into their documents, and leave the decisions about what is enforceable until later.
Specifically, the region of your work that they can claim ip rights over is tightly limited by the definition of 'work for hire', regardless of what they try to claim in your contract.
They do, but not until it exists. You can't sign away work until you've done it, unless it fits the work-for-hire definition.
Now, you can write a contract agreeing to transfer the IP afterward, but then you have to actually perform that transfer, and if you don't you can get sued for breach of contract, but not for infringement.
It's possible that there's case-law interpreting this type of contract to imply a commitment to transfer IP, but I don't think it's very likely.
Is that the same manual that starts with the statement: Nothing in here should be construed as a contract?
That is a good point. I know we all want to get out the pitchforks and torches, but they may have a legit reason for needing him to take the project down. I can say that I could not open source ANYTHING that was remotely related to work right now, and my current employer has no say in the matter.
Nick seemed to be sad, and disheartened, but not upset at his company and I think he is in the most informed person we have here, so lets take his advice and not form a mob.
The problem is simply that its too hard to challenge if such an issue ever arose. Any decent business wouldn't just claim everything under the sun. It is a worrying grey area though.
[1]: http://en.wikipedia.org/wiki/Work_for_hire
[2]: http://answers.onstartups.com/questions/19422/if-im-working-...
I give employers/customers a copy of all my pre-existing open-source or private work on a DVD and have them sign a document stating "This code/IP existed before our work agreement and have no claim to any of it, now or in the future, including derivative works." They sign it before I sign any contract of theirs.
This can be hard to demand from larger droid-run companies. The more entrepreneurial businesses understand: they want solutions to immediate problems, and don't care about collecting vague legal hammers that are only useful in the future.I actually submitted a 'Show HN' at https://news.ycombinator.com/item?id=5401057 but it seems to have not picked up.
Yesterday we saw Hans Rosling show the developing world's progress in 30 seconds of brilliant graphics. Today: pie charts.
What about the used copies out there? Do we need to delete them from our servers aswell?
(if the product in question has the same level of quality/community engagement)
docs no? :-(