137

This is one of the situations where you are looking for a technical solution to a social problem. A social problem should require a social solution, which, in this case, takes two complementary forms and an additional organizational solution which may help: Trust. If you don't trust developers, don't hire them. Working with people you don't trust is ...


70

Make them sign a non-disclosure agreement. Only hire people you trust. Compartmentalize your code base. Use of dependency injection so you can give them requirements that, when finished, resulting classes would fall right into place into the existing architecture, but they will not have acces to the "complete picture", only loose pieces. Only senior, trusted ...


45

I love the idea there might be a "clever" idea that "we" as developers would be baffled by. Given that every developer tool written was written by a developer and all that. Your boss's biggest problem is naivety with a dash of paranoia. I'm being polite there. Really really polite. If you really want a shopping list of things to keep your code proprietary,...


35

If the people in question can't be trusted to keep to their employment contracts, then he needs to not hire them. If he believes NO ONE can be trusted, then he's being overly paranoid, and he's ultimately going to damage the company if he keeps it up. At some point you MUST trust your employees. It's not really an option to do otherwise. If you don't ...


28

You need to take into account that open sourcing your code might require additional effort. As an example, in this blog entry Sun/Oracle engineer describes efforts they had to take when open sourcing their code: Open Source or Dirty Laundry? As we get ready to dive into the open source world, one of the many activities that's occurring is the ...


24

As a pro, If your company's office burns down, the code is still on the server. If your company's office doesn't burn down, but the server on which your git repository is located DOES, then you still have a local copy. If you host your repository on your server in your company's office building (like you would with a Network shared drive...?), then if the ...


23

Did you read the license? Because it's pretty short and I think easy to understand. Unless your lawyer tells you otherwise, I'd say that yes, you can use the code, but you have to put their notice & disclaimer in your documentation (about box, whatever).


23

As long as you don't release the software to anyone while you are linking to GPL'd libraries, you are safe. The viral aspect of GPL only kicks in if you distribute your software. It would be better if you could find a library with a more permissive licence, of course, like LGPL or APL2 or MIT.


22

I used to write code for classified computer systems. They had all sorts of ridiculous hoops to jump through to keep it secret. For example, we weren't allowed to bring music CDs into certain rooms because they could be CD-RWs in disguise. The thing is, practicalities of the work open up security holes out of necessity. Sometimes you had to transport ...


20

A language isn't open-source or closed-source as such. For example, G++ is open source while MSVC++ is closed source. ISO C++ is neither, it's a non-free non-proprietary standard. Your friend could release an Open-Source non-optimizing implementation, and sell the fancy optimizing compiler. The interesting Intellectual Property is not going to be needed ...


20

The GPL writes: You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: So this condition only applies if your work is "based on" the library, which the licence defines as follows: To “modify” a work ...


19

In the year 2000, Borland released the code to its InterBase database software as open source. For weird corporate politics reasons, they quickly walked it back and decided that further development of InterBase would continue as a proprietary product, as it had before, and they were able to do that. As noted above, they were the copyright holder and they ...


18

Is that possible with me as the original copyright holder (with no one having contributed changes except me)? Yes, of course. It's your code, you can do whatever you want with it. Even if I release my program as open source, I am the copyright holder after all, am I? Yes, of course. If you weren't, you wouldn't be able to release it as open source, ...


17

Does his language do something that enough people will pay for? That's really the only thing that decides whether a business model will work. Do you have a large market of users who are large enough not to worry about licensing costs? Does the language support devices or standards that the customers can't live without, and that nothing else supports? Is it ...


16

In short, you need to have a non-disclosure agreement/contract with employees that you are hiring. In addition to this signed agreement hire developers that you can trust. Technically speaking that code can easily get copied to device and reused somewhere else. What your boss doesn't want is - access of your competitors to this code. You may only enforce ...


16

You are trying to let the research commmunity benefit by having them be able to do what you do, without having them be able what you do. That sounds like you haven't really made a principled choice yet. Software solutions like that in open source software aren't likely to work: the code is open source, after all. The first thing other institutions will do ...


15

As the copyright holder, you can do whatever you wish with your own code. Nothing prevents you from closing your own source in your own projects, if you hold the copyright. Use whatever closed-source license your lawyers say is appropriate for your needs. Your existing GPL licenses should be unaffected. Note that you cannot close the source of any code ...


14

There are two cases in which it is possible to effectively change the copyright license on existing code. The existing copyright license gives you the right to change the license or to sub-license the code. The GPL licenses do not fall in this category of licenses. You are one of the copyright holders on the code and all copyright holders explicitly agree ...


14

I believe that no, there is no room for a new language with a proprietary implementation sold by a small company. First, developers have many other free (at least as "in beer", and often as "in speech") language implementations, and they won't bother trying a (pricy) language. Second, any manager would immediately objects: what would happen -to our code ...


14

There is not copyleft provision in the MIT license. The MIT license gives you legal permission to use the code without ever distributing any of your source code. Since your project is closed source, very few people will ever see your code, but it is still a good idea to carefully document which portions are owned by someone else. For distributing binaries, ...


13

Did you see Paycheck with Ben Affleck? I think that's the only way to guarantee your IP won't be "stolen". I can tell you that because of my memory, I could recreate almost every system I've worked on for any significant amount of time. If not a line by line recreation, I could produce the significant elements and probably improve on them in the process ...


12

The GPL allows that. However, the GPL requires that you give the source to everyone that gets your GPL application and allows anyone to modify and redistribute your code. If the GPL application you release is useful, it won't take long for someone to take your source, remove the ads, and redistribute the application. And, presumably, the vast majority of ...


11

You can't prevent code from leaking. You can limit the leak to less important code. Normally there is only one part of the application that makes it unique. That would be some algorithm. You can interface this very well, and put this in a separate source control branch. You and only those people who need to work on it should have access to it. You provide ...


11

Security. For example, say you build a web framework and you yourself use it. As a not-for-profit project, you haven't had the time to dedicate to inspecting every bit of code for vulnerability to one attack or another: CSRF XSS SQL injection Session fixation Use of buggy third-party libraries or even languages Now, having open-sourced the project, you ...


11

The answer is yes, and no. It depends on the commercial motivations of potential customers and the attributes of the language and the problems it solves. No, the world does not need another general purpose computing language created by an individual or a small team. When Perl, Python, Ruby, Java and Javascript and were created there was a vacuum to fill, ...


11

This is called obfuscation. What it does is that it performs a series of operations which don't affect the execution of the source code, but make it more difficult to read of a human. For example, here are some commonly used obfuscation techniques: Remove whitespace. Remove comments. Replace meaningful names of variables and members by names such as a, b, ...


11

Obviously its a question of trust in the provider and how much you value your source code. However, I thinks its clear that, at least in the past, people over valued their source code. For 'business process automation' products; where an in house team creates websites and other software specifically for the needs of the business. The value of that software ...


10

A good reason not to open source is that some of your source might be copyrighted. How often don't you search the web for a quick solution to a problem and just take the snippet of code you find? Well, those might be copyrighted and I don't know if the author would like finding his code being relicensed under a different license.


9

I know someone who worked in an environment like this one. A few measures that were taken there: No access to the physical computer, all the computers were stored in a locked room with holes in the wall for display, keyboard and mouse. No internet access. Customized operating system that used an in-house-built file system with encryption (in case a ...


Only top voted, non community-wiki answers of a minimum length are eligible