So ummm… what does this mean in practise?
Hum… they will soon sell their families in GNAT Pro…
AdaCore and the Apple Syndrom. Nightmare.
As someone who just recently built a free html5 multiplayer online game using websockets and AWS… and is currently working on an MMORPG that leverages AWS as its login server… oh crap!
Also YASS is using aws for its templating engine, and YASS is gpl3. Any other open source projects relying on AWS?
EDIT: So if AWS is no longer supported, this may mean the community needs to step up and take over the project. Anyone interested in helping?
Yes, I was aware since Fabien talked about it offline at Ada Europe in June.
AWA is using AWS but can also be based on EWS. I also have a prototype of server based on Simple Components from Dimitry but it has some issues.
AWS is still a good choice for me as long as it is open source.
The question will be whether Ada Core allows the open source community to take over the project and continue if some developers are interested. Personally, I already have some specific branches that solves build issues on NetBSD or FreeBSD (by getting rid of GNATColl dependency which brings lots of complexity and build issues).
I’m interested in helping later, when I have more time.
It is open source, so why shouldn’t the community be allowed to take over? Or do I misunderstand open source?
No need for permission. You can just clone the repository and code away. However, for professional users the GPL does hold some challenges.
Please correct me if I’m wrong, but I think since AWS is licensed with the gcc runtime exception, you could use the library in your product without having to release the source code.
I didn’t say it’s impossible but most companies still shy away from using (L)GPL.
I’ve seen some company make changes on the license of projects over time. The copyright holder is AdaCore (if I’m not wrong) which means that they can change the license at any time. As copyright holder they can also sell AWS under another license which permits to break the nasty GPL virality and allow customers to keep their source code private. This copyright holder thing could also have some implications even if the project is abandoned by AdaCore.
If AdaCore transfers the copyright to some Foundation (Apache ?), or some non profit organization (Ada User Society ?) this creates a more positive path for the future.
“Take over” isn’t quite the right way to look at it. This can take a few forms:
- Asking AdaCore to put the repository under community ownership. It would likely have to move GitHub organizations, and needs maintainers.
- Anyone can fork it, since it’s GPL, but you can’t call it AWS anymore.
Those are the two main ways of “taking over”, but the latter removes the AWS name, since AdaCore would retain the copyright.
And so? If I’ve got a version with a GPL licence, I can keep it and change it at will. Only later versions with the new licence from the copyright holder are taboo.
It’s not nasty. It’s working as designed. Nasty are the people who grab open source and keep the derived work to themselves. All my Ada code is GPL licensed and intentionally so.
There is truth to virality being nasty and it actually reduces the chances of having users who may submit patches. By virality I think he means that if I copy a procedure or section of code out of a GPL3 library perhaps for compatibility then unless I make it a standalone library then legally I’m meant to open source all my own code that I copied it into. Though I’m not sure if that would actually stand up in court. In any case the BSDs do not use GPL code because of this virality issue. Atleast OpenBSD doesn’t and were stuck on an old GCC in base until llvm came along and now that’s changed it’s license to apache I think and I’m not sure on the situation now. Having OpenBSD devs testing the latest GCC on base and not just ports would surely have been a good thing.
Yes, the idea is that statically linking a GPL code to another implies the whole result is GPL. The code owner could claim that because you don’t respect the licence, the copy is forbidden. The idea of copyright laws, is the copy is forbidden unless the author has given the right to you. And here, the right is conditional. (Like with many software that can be copied (from disk to memory) with some fancy conditions : no more than 10 users connected, no more than 24 CPU-cores, etc).
An interesting case is ZFS (an Oracle file system) which can be used on Linux… but must be shipped separately because ZFS is not GPL. An adaptation layer linked to Linux (then GPL) has been developed.
Note that the issue of GPL libraries is quite annoying, and a derivated license, LGPL has been developed to permit linking such a library to a proprietary code (the virality is limited to the library modifications). But it is up to the library owner to choose between GPL and LGPL.
Please be careful and precise when discussing licenses. AWS is under GPL3 + GCC Runtime Library Exception, which is quite different from the “pure“ GPL.
------------------------------------------------------------------------------
-- Ada Web Server --
-- --
-- Copyright (C) 2002-2025, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify --
-- it under terms of the GNU General Public License as published by the --
-- Free Software Foundation; either version 3, or (at your option) any --
-- later version. This library is distributed in the hope that it will be --
-- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are --
-- granted additional permissions described in the GCC Runtime Library --
-- Exception, version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- As a special exception, if other files instantiate generics from this --
-- unit, or you link this unit with other files to produce an executable, --
-- this unit does not by itself cause the resulting executable to be --
-- covered by the GNU General Public License. This exception does not --
-- however invalidate any other reasons why the executable file might be --
-- covered by the GNU Public License. --
------------------------------------------------------------------------------