0

I was looking into ejabberd and found it is licensed under GPLv2. Let's say that I am using it as follows:

You will come to my website/app and login, then start a chat using Instant messanger. I will use ejabbered on server side to handle and process your messaging and chating. Do I have to make my application code open source ?

logc
  • 2,190
  • 15
  • 19
Manish Kumar
  • 109
  • 2
  • I have checked that already. In my case I am using it on my server & user will access servicess through online – Manish Kumar Apr 07 '15 at 08:40
  • 2
    @Manish: Using it on your own server and giving users remote access to the application does not count as distribution for GPLv2. If your application just needs some kind of IM server to be present and you chose to use ejabberd, then your application is not even a derived work from ejabberd. – Bart van Ingen Schenau Apr 07 '15 at 09:36
  • When you have more questions about using open source software in a commercial application, you might want to commit to the proposal [Open Source Stackexchange](http://area51.stackexchange.com/proposals/82234/open-source?referrer=LYVOhcyWjB2btmuqLjy44w2). – Philipp Apr 07 '15 at 11:11
  • Yah I will just use ejabber on my server side as IM server. I will not modify or copy ejabberd source. So i guess in that case it will be free for commercial purpose ? – Manish Kumar Apr 07 '15 at 11:13
  • You probably have positive interest in publishing your application even if you are not legally obliged to do that. – Basile Starynkevitch Apr 07 '15 at 11:16
  • I didn't get your point – Manish Kumar Apr 07 '15 at 11:47
  • A lot of companies & freelancers are making their code free software, and they are doing that in their own interest. – Basile Starynkevitch Apr 07 '15 at 13:45

1 Answers1

2

No, you don't need to open source your application.

You only need to open source a work derived from a GPL work when you distribute the work. But when your program runs your own server, you are not distributing it to your users. That means you do not need to license it to them. You can even modify the sourcecode. As long as the software doesn't leave your server, the sourcecode doesn't have to leave it either.

There is the AGPL which closes this loophole by requiring to sublicense the work to everyone who interacts with the software via a computer network, but the normal GPLv2 does not include this clause.

One thing web developers need to be aware of when they use GPL software is that the situation is different when you use GPL-licensed JavaScript, HTML or CSS code. When GPL-derived code is sent to and executed by the client, that code must also be licensed under GPL. But this is only a problem when you use GPL-licensed javascript. It is not a problem when your own JavaScript code is interacting with a GPL-licensed backend.

Philipp
  • 23,166
  • 6
  • 61
  • 67
  • I didn't understand your last point about javaScript – Manish Kumar Apr 07 '15 at 11:19
  • @Manish What exactly didn't you understand about it? – Philipp Apr 07 '15 at 11:23
  • `JavaScript is sent to and executed by the client, so when the original is licensed under the GPL, any derivate also need to be.` What it mean ? does it mean that i will have to GPL client side codes HTML,JS,CSS? – Manish Kumar Apr 07 '15 at 11:28
  • 1
    Yes, when you take HTML, CSS or JavaScript which is licensed under the GNU GPL, modify it, and put it on your website, you need to license it also under the GPL because they are sent to and executed on the visitors machine. But note that this does not apply when it is your own code which just interacts with a GPL-licensed backend, because that backend does not run on the users machine. – Philipp Apr 07 '15 at 11:31
  • But all client side are made up with thses techs, so does that mean my whole app will be GPL? – Manish Kumar Apr 07 '15 at 11:33
  • @Manish Did you or did you not take JavaScript code written and licensed under the GNU GPL by someone else, modify it and put it on your webserver for clients to download? – Philipp Apr 07 '15 at 11:35
  • Here is how it is: You will come to my web page, login and start chating as you do on FB, Gmail. Chating box will be coded with Javascdript & HTML & CSS. So far I have no JS file that I use on client side licenced under GPL. Your text will be sent to my server and server will deliver text to your friend thats it. – Manish Kumar Apr 07 '15 at 11:44
  • 1
    @Manish No GPL-licensed code executed on the client, no reason to license anything under GPL. – Philipp Apr 07 '15 at 11:45