-2

I want to make a web application that has a membership fee and has a proprietary algorithm. Customers would not have access to the code, so I wouldn't be distributing it or selling it.

Some of the basic functionality I need is found in existing Windows Applications under the GNU GPL2 license. Can I look at that source code for ideas for how I would code my web application?

1
  • If you are never giving the code to anyone (e.g. because it's installed on your own server), would it really be a problem if you just went ahead and 'licensed' your code under the "GPL2"? Then, this would only matter if you ever decide to release the code (or if you gave a copy to a customer to install on his/her own server). See gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic
    – Brandin
    Sep 3 at 11:34
3

Some of the basic functionality I need is found in existing Windows Applications under the GNU GPL2 license. Can I look at that source code for ideas for how I would code my web application?

I would advise against it.

Although ideas are not protected by copyright (and therefor not subject to a copyright license), it is very hard to draw the line between reading someone else's code, extracting ideas from it and implementing those ideas, and copying the other person's code and modifying the copy to fit your project. And what makes it even harder to draw the line is that reproducing the code from memory is also considered copying.

The problem here is that copying is protected by copyright law and you need a copyright license to do it. The GPLv2 is a copyright license that allows you to make copies, but it also attaches some strings to that right and in particular that the entire project where the copy ends up needs to be open-source (and effectively under the GPL license).

So, the bottom line is that you should not read GPL-licensed code to get inspiration for how to implement something, unless your project is already under the same GPL license.

2
  • 1
    Thanks Bart. So would I be permitted to ask a coder to make me a web app that is very similar to the Windows app, but tell them not to look at the code? So they need to use their own ingenuity to achieve similar outcomes? Sep 4 at 8:34
  • 1
    Yes that would be permitted Sep 4 at 11:59
3

Can I look at that source code for ideas for how I would code my web application?

Yes, of course you can! Ideas are not restricted by copyright, so everything else in your question is irrelevant.

But there are a few issues that you should consider, discussed below.

As Bart van Ingen Schenau discussed, it is easy to cross the line into copying actual code. In fact, this process should be carried out by two independent teams: one reviews the existing code and records ideas (or specifications) in a general form, and another team writes new code based on this record.

Windows Applications

The platform is irrelevant here.

Some of the basic functionality I need

How basic is it? If other people reviewed the GPL-licenced applications, might they conclude that your paid version does not add value?

Customers would not have access to the code, so I wouldn't be distributing it or selling it.

If this was really true, then the GPL would protect you, even if you were actually copying code.

But is it true? Web applications normally have both server-side and client-side code. You need to make sure the client-side code – which you are distributing – is not “tainted” by the issues discussed above.

For the sake of completeness, note that all of this analysis would apply to most other free licences as well, including GPL3, but not AGPL3.

7
  • Thanks for your input. The platform is actually relevant, because the Windows app is programmed in C++ which cannot be used for Web applications. Therefore my web app would need to be in a completely different language, thus reducing the risk of copying code significantly. Your question about functionality - very basic. Imagine an app contains a representation of a QUERTY keyboard, just as hundreds of apps do. That is similar to what I want to include. Does my programmer really need to make a functional keyboard from scratch, or can he look at the code? Reinvent the wheel!? Sep 5 at 13:12
  • @Chessologist (1) I still do not understand how the platform is relevant. Surely the fact that it is a Windows app is irrelevant. What about the fact that it is written in C++? C++ can be used for Web apps, on both the server side and client side (whether you should use it is another matter, of course). Sep 5 at 15:43
  • @Chessologist (2) About your on-screen keyboard, it took me about 2 seconds to find one under a permissive licence, and I am sure you could find many more. Why not just copy one of those? (3) You say “Reinvent the wheel!?” as if this idea is ridiculous, and most people would probably agree with that. Remember that the whole point of copyleft is to stop software like the software you want to develop from being proprietary. If you insist on it being proprietary anyway, you need to put in the work to make that happen – or use my suggestion at the start of this comment. Sep 5 at 15:43
  • There is no way I will put my ideas under a copyleft license, as they are simply too valuable. The on-screen keyboard is just an example that fits my scenario, not the actual element I want to use. But the elements I want to use are no more complicated than that. However, as far as I am aware, they are only in programs under restrictive licenses. And the algorithm that will drive the app will remain server side. Only the program output will sent to the client. It's like I want to invent a Space Shuttle, but basic elements like wheels and engines are all under licenses. Sep 6 at 0:50
  • And I'll be using Javascript for the Web app, which is quite different from C++. Sep 6 at 0:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.