comp.lang.ada
 help / color / mirror / Atom feed
* Qt4Ada: Qt for Ada
@ 2006-07-29 10:34 Yves Bailly
  2006-07-29 12:35 ` Michael Bode
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Yves Bailly @ 2006-07-29 10:34 UTC (permalink / raw)


Hello all,

After reading the thread about an Ada2005 binding for the Qt library, it
seems obvious that many would be interested in such a work.

So, let me announce I have started such a binding some times ago, a binding
to Qt version 4.1.4.

It's only the beginning, however it's already usable: the 6th Qt tutorial
(http://doc.trolltech.com/4.1/tutorial-t6.html) has been successfully
reimplemented in pure Ada.

The binding is done through a intermediate C interface, using GNAT 2006
as compiler. However I'm trying to write things as portable as possible,
not relying on compiler-specific features. The actual binding is a
rather thick one, the thin binding being limited to the C interface.

I pay particular attention to reflect in Ada the type structure from C++.
At the top there is one package, named "Qt". Below there are child
packages, corresponding to Qt's modules, for now only "Qt.Core" and
"Qt.Gui". Then each class has its own package, for example 
"Qt.Core.QStrings" for QString class, "Qt.Gui.QWidgets" for QWidget class.
The hierarchy of types is also preserved: the type Qt.Gui.QWidgets.QWidget
is derived from the type Qt.Core.QObjects.QObject, and so on.

Please note I'm not an Ada expert - but I'm willing to learn and get 
better. So even a quick review by someone more skilled would be very
appreciated ;-)

Now some numbers.

There are more than 5000 functions or methods in Qt4. With the current
structure, when not asleep, it needs roughly 1min30sec to bind a C++
method to an Ada function or procedure, in the simplest cases. So it would
need at least 125 hours to bind everything, more than 5 days if working
24 hours a day, or about 16 days if working 8 hours a day. Applying the
usual correction factor for projects planning, we get about 50 days of
full-time work. Which is not that much, after all.

But I'm not working full-time on this project. It's a "free" project, done
on my spare time. Most of my time is used by a company to develop some crap
of software in C++ (using Qt), quickly-badly written, full of bugs, and
probably reaching soon an unmaintainable state. It's disgusting, but at 
least I earn money for this work, so I can eat as well as my family. I
also write articles in a Linux french magazine, about two each month,
one on Qt4 and the other on Ada. It's very pleasing, and thanks to this
second work we and my family can do better than just survive.

So, by myself I can only work on Qt4Ada something like 1 (one) hour a day
(it's a weekly mean, some days I work more, some days not at all). At this
pace, the binding would be achieved in more than one year, assuming
everything goes well. No, I'm not using some automatic translator: as
someone already told, for such complex things as Gtk or Qt such translators
would in fine do more harm than good.

I would much prefer work on Qt4Ada full-time, but as stated I just can't
afford it (unless someone accepts to fund me for it, but it's unlikely).
So any help is greatly welcome!

On the "administrative" side, I have some wonder about licensing. Has it's
only a personal project, I think GPLv2 would be fine. What's your opinion?
I also have plans to release it on SourceForge, necessary step if more than
one person will work on it. Again, any suggestion is appreciated.

Thanks for reading me, that was a quite long post (and english is not my
mother language). Tell me what you think about all this. I'd be glad to
provide more details about the actual code, but I won't spread it before
the license is defined.

Best regards,

-- 
(o< | Yves Bailly  : http://kafka-fr.net   | -o)
//\ | Linux Dijon  : http://www.coagul.org | //\
\_/ |                                      | \_/`



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 10:34 Qt4Ada: Qt for Ada Yves Bailly
@ 2006-07-29 12:35 ` Michael Bode
  2006-07-29 17:03   ` Preben Randhol
  2006-07-29 18:17   ` Björn Persson
  2006-07-29 14:24 ` Marius Amado-Alves
  2006-07-31 20:57 ` Yves Bailly
  2 siblings, 2 replies; 16+ messages in thread
From: Michael Bode @ 2006-07-29 12:35 UTC (permalink / raw)


Yves Bailly <kafka.fr@laposte.net> writes:

> On the "administrative" side, I have some wonder about licensing. Has it's
> only a personal project, I think GPLv2 would be fine. What's your opinion?

Since you started the Qt4Ada thread with the words:

  I just read the thread "Answer of Request to AdaCore on licensing
  Status of GtkAda 2.4.0",

I'd suggest using GMGPL. But this depends on what you want to achieve
with Qt4Ada: 

Do you want to promote the Free Software idea in the first place? Then
go with the GPL.

Do you want to create a library that is usefull to the widest range of
programming projects (Free and Non-Free)? Then use GMGPL.

Do you want to to create an alternative to GtkAda because you think it
sucks technically or you like Qt better? Then both are viable.

Do you want to create an alternative to GtkAda because of the
licensing mess there? Then go with GMGPL.

Of course since Qt itself uses a dual licensing scheme where you have
to pay if you want to do CSS development (but not as astronomical as
for GtkAda), you could invent a similar dual license scheme
and maybe earn some money.

Anyway, please make it crystal clear what your licensing is and stay
with it.

-- 
Michael Bode



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 10:34 Qt4Ada: Qt for Ada Yves Bailly
  2006-07-29 12:35 ` Michael Bode
@ 2006-07-29 14:24 ` Marius Amado-Alves
  2006-07-31 20:57 ` Yves Bailly
  2 siblings, 0 replies; 16+ messages in thread
From: Marius Amado-Alves @ 2006-07-29 14:24 UTC (permalink / raw)
  To: comp.lang.ada

> On the "administrative" side, I have some wonder about licensing.  
> Has it's
> only a personal project, I think GPLv2 would be fine. What's your  
> opinion?
> I also have plans to release it on SourceForge, necessary step if  
> more than
> one person will work on it. Again, any suggestion is appreciated.

Then let me suggest a progressive license (softdevelcoop.org), the  
only scheme that makes sense if one wants to balance the right of the  
developers and the rights of the users. The SDC site is at the  
disposal of all progressive software stakeholders.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 12:35 ` Michael Bode
@ 2006-07-29 17:03   ` Preben Randhol
  2006-07-29 17:44     ` Jeffrey Creem
  2006-07-29 21:50     ` Michael Bode
  2006-07-29 18:17   ` Björn Persson
  1 sibling, 2 replies; 16+ messages in thread
From: Preben Randhol @ 2006-07-29 17:03 UTC (permalink / raw)
  To: comp.lang.ada

On Sat, 29 Jul 2006 14:35:35 +0200
Michael Bode <m.g.bode@web.de> wrote:

> I'd suggest using GMGPL. But this depends on what you want to achieve
> with Qt4Ada: 

Does it matter if QT4Ada is GMGPL when QT is GPL? I mean shouldn't
QT4Ada then be dual licensed so that whether one use the QT GPL or
non-GPL version one do not get problems?



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 17:03   ` Preben Randhol
@ 2006-07-29 17:44     ` Jeffrey Creem
  2006-07-29 21:50     ` Michael Bode
  1 sibling, 0 replies; 16+ messages in thread
From: Jeffrey Creem @ 2006-07-29 17:44 UTC (permalink / raw)


Preben Randhol wrote:
> On Sat, 29 Jul 2006 14:35:35 +0200
> Michael Bode <m.g.bode@web.de> wrote:
> 
> 
>>I'd suggest using GMGPL. But this depends on what you want to achieve
>>with Qt4Ada: 
> 
> 
> Does it matter if QT4Ada is GMGPL when QT is GPL? I mean shouldn't
> QT4Ada then be dual licensed so that whether one use the QT GPL or
> non-GPL version one do not get problems?

GMGPL is "GPL Compatible", so GMGPL can certainly be the only way this 
library is licensed (assuming that meets the needs of the developers 
that sign up).

So, I don't see a reason for dual license if GMGPL is what is selected.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 12:35 ` Michael Bode
  2006-07-29 17:03   ` Preben Randhol
@ 2006-07-29 18:17   ` Björn Persson
  2006-07-29 19:11     ` Samuel Tardieu
  1 sibling, 1 reply; 16+ messages in thread
From: Björn Persson @ 2006-07-29 18:17 UTC (permalink / raw)


Michael Bode wrote:
> Do you want to create a library that is usefull to the widest range of
> programming projects (Free and Non-Free)? Then use GMGPL.

But in that case please write a notice that QT4Ada doesn't shield anyone 
from the license conditions of QT: Developers must still either release 
their code under the GPL or buy licenses from Trolltech.

-- 
Bj�rn Persson                              PGP key A88682FD
                    omb jor ers @sv ge.
                    r o.b n.p son eri nu



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 18:17   ` Björn Persson
@ 2006-07-29 19:11     ` Samuel Tardieu
  0 siblings, 0 replies; 16+ messages in thread
From: Samuel Tardieu @ 2006-07-29 19:11 UTC (permalink / raw)


>>>>> "Bj�rn" == Bj�rn Persson <spam-away@nowhere.nil> writes:

Michael> Do you want to create a library that is usefull to the widest range
Michael> of programming projects (Free and Non-Free)? Then use GMGPL.

Bj�rn> But in that case please write a notice that QT4Ada doesn't
Bj�rn> shield anyone from the license conditions of QT: Developers
Bj�rn> must still either release their code under the GPL or buy
Bj�rn> licenses from Trolltech.

I would stop your sentence at the ":". You don't want to get into Qt
license specifics. Reminding the user that she has to check the Qt
license is great, being too specific (who knows what the Qt license
will be in the future) is pointless and is none of Qt4Ada author
concern.

  Sam
-- 
Samuel Tardieu -- sam@rfc1149.net -- http://www.rfc1149.net/



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 17:03   ` Preben Randhol
  2006-07-29 17:44     ` Jeffrey Creem
@ 2006-07-29 21:50     ` Michael Bode
  1 sibling, 0 replies; 16+ messages in thread
From: Michael Bode @ 2006-07-29 21:50 UTC (permalink / raw)


Preben Randhol <randhol+cla2@pvv.org> writes:

> Does it matter if QT4Ada is GMGPL when QT is GPL? I mean shouldn't
> QT4Ada then be dual licensed so that whether one use the QT GPL or
> non-GPL version one do not get problems?

Of course it does matter. If Qt4Ada is GPL, you can't use it for CSS
even if you buy a Qt license.

For this reason I'd prefer something that is GTK+ based. And I
consider GtkAda under GPL like the tail wagging the dog. After all
GTK+ does the real work and it is LGPL. Now comes one of a dozen or so
language bindings and shows people how to do Free Software.

-- 
Michael Bode



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-29 10:34 Qt4Ada: Qt for Ada Yves Bailly
  2006-07-29 12:35 ` Michael Bode
  2006-07-29 14:24 ` Marius Amado-Alves
@ 2006-07-31 20:57 ` Yves Bailly
  2006-08-01  2:08   ` Jeffrey Creem
  2006-08-01 11:35   ` Philippe Bertin
  2 siblings, 2 replies; 16+ messages in thread
From: Yves Bailly @ 2006-07-31 20:57 UTC (permalink / raw)


Hello all, answering to my own post...

Yves Bailly wrote:
> On the "administrative" side, I have some wonder about licensing. Has it's
> only a personal project, I think GPLv2 would be fine. What's your opinion?

After "deep" thinking, I'll go with GPL for now. Maybe one day, if needed,
some dual-licensing will be applied. As soon as I have placed everything
on the SourceForge SVN I'll announce it here for those interested.

Best regards,

-- 
(o< | Yves Bailly  : http://kafka-fr.net   | -o)
//\ | Linux Dijon  : http://www.coagul.org | //\
\_/ |                                      | \_/`



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-31 20:57 ` Yves Bailly
@ 2006-08-01  2:08   ` Jeffrey Creem
  2006-08-03  7:51     ` Rob Norris
  2006-08-01 11:35   ` Philippe Bertin
  1 sibling, 1 reply; 16+ messages in thread
From: Jeffrey Creem @ 2006-08-01  2:08 UTC (permalink / raw)


Yves Bailly wrote:
> Hello all, answering to my own post...
> 
> Yves Bailly wrote:
> 
>>On the "administrative" side, I have some wonder about licensing. Has it's
>>only a personal project, I think GPLv2 would be fine. What's your opinion?
> 
> 
> After "deep" thinking, I'll go with GPL for now. Maybe one day, if needed,
> some dual-licensing will be applied. As soon as I have placed everything
> on the SourceForge SVN I'll announce it here for those interested.
> 
> Best regards,
> 

Great. That should solve the whole GtkAda GPL license problem that 
started this threat. Now people will be able to select among two gratis 
libraries that they can't make use of :).

All joking aside, it is your project and there are plenty of good 
reasons to select the GPL.

Note that if you do get any substantial help from others, you should be 
aware that as time goes on it may become impossible to switch to 
different license terms as you will not be the sole copyright holder.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-07-31 20:57 ` Yves Bailly
  2006-08-01  2:08   ` Jeffrey Creem
@ 2006-08-01 11:35   ` Philippe Bertin
  2006-08-01 21:55     ` Yves Bailly
  1 sibling, 1 reply; 16+ messages in thread
From: Philippe Bertin @ 2006-08-01 11:35 UTC (permalink / raw)


> Yves Bailly wrote:
...
> After "deep" thinking, I'll go with GPL for now. Maybe one day, if needed,
> some dual-licensing will be applied. As soon as I have placed everything
> on the SourceForge SVN I'll announce it here for those interested.

Yves,

Are you aware of this project at http://www.websamba.com/guibuilder ? I
haven't looked at it in detail; it seems to be GPL.

Me on my side, I think that if you do not release your binding under
the GMGPL, you inhibit any (closed source) commercial use of your
binding. Because closed source software can't use your binding for
writing commercial programs released under GPL, whereas they could if
you'd release it under the GMGPL.

I share Jeffry's concern that you may very well be unable to switch
back to GMGPL later on, once the community has started sending source
updates on your binding.

Kind regards,

PhB




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-08-01 11:35   ` Philippe Bertin
@ 2006-08-01 21:55     ` Yves Bailly
  2006-08-05 19:47       ` Steve Whalen
  0 siblings, 1 reply; 16+ messages in thread
From: Yves Bailly @ 2006-08-01 21:55 UTC (permalink / raw)


Philippe Bertin wrote:
>> Yves Bailly wrote:
>> After "deep" thinking, I'll go with GPL for now. Maybe one day, if
>> needed, some dual-licensing will be applied. As soon as I have placed
>> everything on the SourceForge SVN I'll announce it here for those
>> interested.
> Are you aware of this project at http://www.websamba.com/guibuilder ? I
> haven't looked at it in detail; it seems to be GPL.

Yes, I've looked at it. For one thing, it's for Qt 3.3 : my proposal
targets Qt 4 - and only Qt4, so both are complementary. Second, it's
a binding for Ada95, I'm targetting Ada2005.
 
> Me on my side, I think that if you do not release your binding under
> the GMGPL, you inhibit any (closed source) commercial use of your
> binding. Because closed source software can't use your binding for
> writing commercial programs released under GPL, whereas they could if
> you'd release it under the GMGPL.

Note that the GPL doesn't prohibit *commercial* software, it "only"
prohibits *closed source* software. I guess we could argue on this till the
end of times, but I do believe that "commercial" /= "closed source". And
I also believe (again an arguable opinion) that open source is better to
produce good software. For now I'm producing closed source software, for
which I'm paid so I can live. Despite the fact it pleases some consumers,
who don't want to pay too much, it's badly written, and it's the case of 
almost all closed source software I've had the opportunity to read the
source code. On the hand, most open source software are better written.
At least, this is my own experience until now, I won't say it will never
change in the future.

> I share Jeffry's concern that you may very well be unable to switch
> back to GMGPL later on, once the community has started sending source
> updates on your binding.

I understand this. But given the previous opinions, it's not really a
concern for me.

I've reached the conclusion that the "best" model would be some kind of
dual-licensing, something like TrollTech does for Qt. However I don't see,
at least for now, how I could "enforce" a commercial license, charge fees
for it, and so on (not to mention that this project is still at its
beginning and not yet really usable). Dual licensing implies many legal and
administrative stuffs, which I'm not ready nor able to handle by myself.
Again, this might change. I have to discuss of all this with a lawyer I
know and with my current boss. Who knows...

So, to sum things up: for now, I tend to prefer the GPL. But if something
new happens soon (some legal knowledge I don't have, some administrative
support...), I might go for a dual license.

Thanks a lot anyway for your words.

Best regards,

-- 
(o< | Yves Bailly  : http://kafka-fr.net   | -o)
//\ | Linux Dijon  : http://www.coagul.org | //\
\_/ |                                      | \_/`



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-08-01  2:08   ` Jeffrey Creem
@ 2006-08-03  7:51     ` Rob Norris
  0 siblings, 0 replies; 16+ messages in thread
From: Rob Norris @ 2006-08-03  7:51 UTC (permalink / raw)


On Mon, 31 Jul 2006 22:08:39 -0400, Jeffrey Creem <jeff@thecreems.com>
wrote:

>
>Note that if you do get any substantial help from others, you should be 
>aware that as time goes on it may become impossible to switch to 
>different license terms as you will not be the sole copyright holder.

You could enforce that all contributions transfer copyright to holder
for the project. I believe this is done for most FSF projects so they
can then take action as the sole copyright holder. 

On the other hand for Linux, copyright is vested in hundreds of (some
untraceable) people. This might be the desired effect so the kernel is
GPL and practically impossible to change.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-08-01 21:55     ` Yves Bailly
@ 2006-08-05 19:47       ` Steve Whalen
  2006-08-05 21:25         ` Michael Bode
  2006-08-06  9:24         ` Georg Bauhaus
  0 siblings, 2 replies; 16+ messages in thread
From: Steve Whalen @ 2006-08-05 19:47 UTC (permalink / raw)


Yves Bailly wrote:

> ... I do believe that "commercial" /= "closed source". ...
>

While this is very true, it is also very misleading.

The best estimates I've seen show that pure GPL only "commercial"
software (with _no_ GMGPL'd library units) constitutes significantly
less than 1% of all commercial software, whether the % is measured in
copies of programs distributed, $ / Euro's spent on the software, or
the number of applications.

While I am a big supporter of open source, in the real world, GPL
without GMGPL on appropriate units _does_ mean essentially no
commercial development will be done with that GPL only compiler /
library / toolkit.

Steve




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-08-05 19:47       ` Steve Whalen
@ 2006-08-05 21:25         ` Michael Bode
  2006-08-06  9:24         ` Georg Bauhaus
  1 sibling, 0 replies; 16+ messages in thread
From: Michael Bode @ 2006-08-05 21:25 UTC (permalink / raw)


"Steve Whalen" <SteveWhalen001@hotmail.com> writes:

> While I am a big supporter of open source, in the real world, GPL
> without GMGPL on appropriate units _does_ mean essentially no
> commercial development will be done with that GPL only compiler /
> library / toolkit.

And we will see if GPL libraries give a significant boost to free
software development over GMGPL libraries. I'd say 
non-free development tools don't harm the development of free
software. There are 20000 Java projects on Sourceforge vs. 110 Ada
projects. Maybe Ada catches up now than the libs are GPL?

-- 
Michael Bode



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Qt4Ada: Qt for Ada
  2006-08-05 19:47       ` Steve Whalen
  2006-08-05 21:25         ` Michael Bode
@ 2006-08-06  9:24         ` Georg Bauhaus
  1 sibling, 0 replies; 16+ messages in thread
From: Georg Bauhaus @ 2006-08-06  9:24 UTC (permalink / raw)


Steve Whalen wrote:
> Yves Bailly wrote:
> 
>> ... I do believe that "commercial" /= "closed source". ...
>>
> 
> While this is very true, it is also very misleading.
> 
> The best estimates I've seen show that pure GPL only "commercial"

Then again, open source has a definition different from GPL.
And also, sources closed to the public can be open to the
buyers of a program license, with or without NDA.

Measuring the fraction of license types in $ or � etc can be misleading,
too, because e.g. Microsoft is always luring potential customers into 
the following situation: If you are willing to dismiss the use
of industry standards/protocols etc. in favor of new MS solutions,
you can start with *very* low expenses on MS technology, as
they will charge the regular prices only later, when their
technology has settled, and you can no longer switch.
 Which might explain part of MS software in domains new to them.



-- Georg 



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2006-08-06  9:24 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-29 10:34 Qt4Ada: Qt for Ada Yves Bailly
2006-07-29 12:35 ` Michael Bode
2006-07-29 17:03   ` Preben Randhol
2006-07-29 17:44     ` Jeffrey Creem
2006-07-29 21:50     ` Michael Bode
2006-07-29 18:17   ` Björn Persson
2006-07-29 19:11     ` Samuel Tardieu
2006-07-29 14:24 ` Marius Amado-Alves
2006-07-31 20:57 ` Yves Bailly
2006-08-01  2:08   ` Jeffrey Creem
2006-08-03  7:51     ` Rob Norris
2006-08-01 11:35   ` Philippe Bertin
2006-08-01 21:55     ` Yves Bailly
2006-08-05 19:47       ` Steve Whalen
2006-08-05 21:25         ` Michael Bode
2006-08-06  9:24         ` Georg Bauhaus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox