Legitimate Secret Source Code Reasons?

While programming on a recent project (a web app), my boss as well as the clients were concerned with keeping the source code of the program secret and secure. I asked why they wanted to keep it secret and they gave me something about what I was working on was important to them and they didn’t want it to be tampered with or taken after it went live officially. I was wondering if you think keeping the code secured has any legitimacy to it? When would you do such a thing or why wouldn’t you?

Popular White Paper On This Topic

Your employer is investing in the development of this product and they want
to protect that investment. As the employee working on this project, you
are a fiduciary. This means you are acting on behalf of the employer. The
materials you are producing are the property of the employer, and the
results of those efforts are the intellectual property of that employer,
not you. There is nothing sinister about wanting to protect an investment.
If the employer is unable to protect that investment and suffers a loss of
revenue as a result of this intellectual property getting exposed, the
party likely to suffer the most would likely be you, since you would be the
one looking for a new job. Don't lull yourself into thinking the likes of
Bradly/Chelsea Manning or Edward Snowden are roll models to be followed.
Failing to protect and respect an employer's intellectual property is
generally career limiting.

It sounds like your employers are from the 'code is art crowd' as opposed to the 'math cannot be owned' crowd. Myself, I'll share any code I write with anyone who wants it. I feel the implementation of code is where the money is but then again, I'm not in the business of selling software. I sell services.

This is a very old debate. On one side you have Bill Gates of the world and on the other the Richard Stallmans http://www.gnu.org/philosophy/shouldbefree.html . Note: I was going to post something from Gates or Jobs to help explain their point of view but I could not find a cogent argument that didn't boil down to 'we charge because we can and we like money' or 'we have so little faith in our ability to compete on a service level, that we are terrified that someone else might be able to compete with us on a level playing field.'

In the end, no one codes in a vacuum. Everyone's work is built upon the work of others. To call the resulting product your 'intellectual property' is willfully ignorant hubris.

As I've said, I'm in the university camp and feel that code is just math and math cannot be owned. However, your employers are not. You can try to educate them, but it's your duty to either secure their code as they choose or find another employer... Unless you used open source code in your project, in which case.. too late :)

It is a good ethic for the Programmer to protect the sensitive information, company policy, etc., So every programmer should keep everything private. It is his right to ask you to secure all this information.

I somewhat take the FOSS approach, which is what I believe NewZealand has done.
The algorithms and code snippets in your application are not patentable. But the entire package is. So, algorithms to format a line are not patentable, but the wordprocessor is.

The item to be protected is the final product, not the individual mathematical functions that, tied together in a secret sequence, make the final product.

In every business sense there are trade secrets. Legally trade secrets helps to protect the business.In case of software development there are also Copyright Acts that includes specific provisions for protection of computer programs. In the US Copyright Act of 1976 Codes are considered literary Works. Source code can be protected as embodied as an expression of an idea which is of course creative works and should be protected as an Intellectual property.

Why do companies protect the Source code ?

1. To protect the software so that they can still be in business or maintain dominance.
2. To avoid malicious hackers that would render the software useless.
3. Legally protect their intellectual property from copy cuts.

Source code protection does not necessarily mean your code is protected. If you release a runtime version of the application there are tools to reverse engineer the code that people use. If you read a book "Undocumented Windows 2000 Secretes: Programmers Cookbook" will give you an insight.

I personally support the idea of protecting your product how ever code sharing also helps to improve technologies. A good example of that is the Linux industry.

"Everyone's work is built upon the work of others." Follow that argument far enough, and you find that Rowney owns Van Gogh's Sunflowers because they sold the oil paints.

The reason Maths is free is that most of it comes from academia, and most of academia is funded by taxes on people who work for a living.

I spend 40 hours a week wrestling recalcitrant systems and language constructs into business systems that help capitalism keep working. And I like to eat. So I sell my code for all the market will bear, and my customers want to keep their commercial advantage that they paid me to give them. So I don't blab their IPR.

Anything I do in my own time is mine to dispose of as I wish. But I set limits to what I can spare the time to do for free.

I can speak only for CDN law as insofar as my current understanding allows,
but...

a) as a contractor, unless specifically included in any given contract, the
rights to the source code are the author's code; granted, that some
companies may state that any code belongs to them, in which case the
developer may say Yea or Nay.
b) in the presence of such a clause claiming ownership of such a clause, I
reserve rights to any code I have written prior to such an agreement with
said firm. At the least, this includes the several libraries that I have
written, not to mention the code I have included from such invaluable
sources as MZ-Tools, etc.
c) one of the first things I ask of a potential gig is, "Can I bring my
toolbox to this opportunity, or would you prefer that I do everything by
hand?" And frankly, I would prefer the latter answer, because that will
quadruple my budget. That choice is entirely up to the client. But I can
neither sell the rights to MZ-Tools, for example, nor to the thousands of
lines of code that comprise ArtfulLib; the routines and functions contained
in said library represent years of work, and are already in use by numerous
clients, so it is flat-out impossible for me to sell this code to any given
employer for less than several million dollars. And even then, I have to
consider the reverberations upon people who are currently using my
libraries. Maybe that collection of clients only amounts to a few hundred,
but I cannot fork over licenses to my code without considering the
after-effect upon those currently using it.

In short, this is an impossible agreement, to which it is impossible to
agree. And if you agree to such an agreement, then I pity you, because you
are doomed to lose in court. Take the high road! Insist that your code is
Your Code, and that you are free to resell and/or re-use portions of it
henceforth (and don't forget to point out that a bunch of your library is
a) in use already by numerous corporations and government ministries, and
therefore is unavailable for licensing; and b) some of it borrows from
and/or extends the functionality available in public-doman libraries.
Therefore it is flat-out impossible to grant an exclusive license to the
code that I might write for your given app. Even just including the code
that I wrote, that agreement would jeopardize all the clients whose apps
include the code and libraries I have included in your solution and bottom
line is, I would rather stand in line at a Food Bank than agree to such
egregious terms.