Board index » cppbuilder » Re: cross-platform c++ library

Re: cross-platform c++ library


2005-09-30 10:31:42 PM
cppbuilder24
Chris Uzdavinis (TeamB) < XXXX@XXXXX.COM >wrote:
Quote
"Jonathan Benedicto" < XXXX@XXXXX.COM >writes:

>I guess so. Well, I could make adapters for Win32/GTK, as well as have my
>own look-and-feel, but Qt costs.

If you would be willing to GPL your code you could include Qt. But if
you're wishing to sell your code, then it is only reasonable for Qt to
want to sell to you too. (Seems fair to me.)
How about wanting to give away your code but allowing
its users to use it for commercial apps? (This is where
GPL sucks and the boost licence shines.)
Quote
[...]
Schobi
--
XXXX@XXXXX.COM is never read
I'm Schobi at suespammers dot org
"Coming back to where you started is not the same as never leaving"
Terry Pratchett
 
 

Re:Re: cross-platform c++ library

"Chris Uzdavinis (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote
If you would be willing to GPL your code you could include Qt. But if
you're wishing to sell your code, then it is only reasonable for Qt to
want to sell to you too. (Seems fair to me.)
Yes this is fair.
Quote
However, I don't see why you would have to actually distribute Qt (or
any library) with yours. You may be able to write a library that can
have pluggable other libraries, of which you only provide an API for
the adapters, and leave it up to your users to actually make the
connection. Or you could provide the adapters too, and they provide
the actual library you're adapting. (Maybe you could sell your
library, but make your Qt adapters GPL as a separate project, or
something like that.)
Thank you for these ideas. I think that I'd probably want to make an API
for others to connect their library of choice into.
Quote
Anyway, I wouldn't want to get into the business of distribution of
other people's libraries, or else you'll be on an endless tredmill of
patches, updates and hosting. You won't have time to keep everything
current, and that will frustrate your users. I would suggest you make
it so that users can install and upgrade their libraries at will,
seperately from yours, if you're going to go that route.
No, I'd definitely not want to get into this.
Jonathan
 

Re:Re: cross-platform c++ library

"Hendrik Schober" < XXXX@XXXXX.COM >wrote in message
Quote
How about wanting to give away your code but allowing
its users to use it for commercial apps? (This is where
GPL sucks and the boost licence shines.)
This wouldn't pay <g>.
Jonathan
 

{smallsort}

Re:Re: cross-platform c++ library

"Gunnar Beushausen" < XXXX@XXXXX.COM >wrote in message
Quote
This doesn't matter because all modern distributions come with an
application that tweaks the look of QT & KDE to look exactly the same
way.
Well my problem is that if the user had tweaked Qt to look a certain way,
then if I was using GTK, then I'd have to tweak GTK to look the same as Qt,
and I don't think that this would be easy.
Jonathan
 

Re:Re: cross-platform c++ library

"Michael McCulloch" < XXXX@XXXXX.COM >wrote in message
Quote
What you propose to do (i.e. create a cross-platform API w/ a
fully-featured IDE) is probably beyond you alone to create in a
reasonable period of time, so why not offer your services to the VCF
project and help move the IDE forward?
Some of the reasons that I have for making my own are these:
- Cross-platform design, users don't have to change any code to compile
Win/Lin/Mac/etc - preferably they could compile on any OS that supported X
Window.
- RAD development.
- Very easy API, similar to the VCL. Included in this is the easy event
handling.
- Encapsulates just about everything a user would ever need: sockets,
threads, device io(later), file handling, multimedia(later), etc.
- Easy component development, as simple as BCB
- Looks very professional
- Fairly bug-free
- Fast support (not saying that I'm fast :), but I'd have to get groups
like these for this purpose)
- stable IDE built using the library, so it bug tests for me.
- Support for almost any compiler, Intel, MS, bcc32, gcc, DigitalMars,
Comeau etc.
So, with these very high requirements, I will check VCF out. They might
have these abilites. I'm willing not to have to re-invent the wheel.
Otherwise, I was not intending to do this single-handedly, but once I had
built the base, then others might want to contribute.
Jonathan
 

Re:Re: cross-platform c++ library

"Hendrik Schober" < XXXX@XXXXX.COM >writes:
Quote
>If you would be willing to GPL your code you could include Qt. But if
>you're wishing to sell your code, then it is only reasonable for Qt to
>want to sell to you too. (Seems fair to me.)

How about wanting to give away your code but allowing
its users to use it for commercial apps? (This is where
GPL sucks and the boost licence shines.)
I'd rather not get into a philosophical argument, but I don't think
that the GPL was intended to fulfill that particular role. If it
"sucks" for that purpose (allowing commercial applications to use your
code and remain closed), it is clearly by design.
Over 80% of the FLOSS code is under the GPL, including Linux, and
there certainly are commercial entities (like RedHat, JBoss, MySQL,
etc.) making money working fully well with the GPL. It is a
different kind of commercial environment, but c'est la vie.
--
Chris (TeamB);
 

Re:Re: cross-platform c++ library

"Graeme Prentice" < XXXX@XXXXX.COM >wrote in message
Quote
Have you looked at UPP upp.sourceforge.net/
No I hadn't seen this. I'm downloading it and will check it out, thank you.
Quote
Seems lots of people want to create their own GUI library.
I don't only want the GUI part. I also want to fill in the rest, threads,
i/o etc. But maybe it is because users want to make the almost perfect one
in their opinion, not decrying their opinions at all, but they all have
different opinions.
Quote
This one discusses making the Qt API part of standard C++
I wonder how many people want this.
Jonathan
 

Re:Re: cross-platform c++ library

"Hendrik Schober" < XXXX@XXXXX.COM >wrote in message
Quote
Also, you might want to look at
sourceforge.net/projects/notus
This idea is kind of neat. Writing components would be fairly easy.
Jonathan
 

Re:Re: cross-platform c++ library

"Jonathan Benedicto" < XXXX@XXXXX.COM >writes:
Quote
Otherwise, I was not intending to do this single-handedly, but once I had
built the base, then others might want to contribute.
... but you just said you don't want to give away your code. What
would motivate anyone to want to help out? For that matter, how would
they help in the first place without having the code? For a community
project, it must be communal, and the "share and share alike"
mentality (like the GPL) may help take you places--and may result in a
nicely developed product--but it won't necessarily make you a lot of
money. Such an arrangement usually only works if you can end up
getting people to pay you to support a new platform or do other types
of maintenance/support work for them. (I'll pay you $XYZ if you
implement this feature in the next 6 weeks, etc.)
If you want to be paid up front, you probably will have to do
everything yourself or hire some people to help you do it, but then
you probably shouldn't expect contributions.
--
Chris (TeamB);
 

Re:Re: cross-platform c++ library

"Chris Uzdavinis (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote
... but you just said you don't want to give away your code. What
would motivate anyone to want to help out?
This is where I was still thinking. Maybe twin licences, GPL for those who
want GPL, and a commercial licence for those who need it.
Quote
For that matter, how would
they help in the first place without having the code?
I would have to release the code.
Quote
For a community
project, it must be communal, and the "share and share alike"
mentality (like the GPL) may help take you places--and may result in a
nicely developed product--but it won't necessarily make you a lot of
money. Such an arrangement usually only works if you can end up
getting people to pay you to support a new platform or do other types
of maintenance/support work for them. (I'll pay you $XYZ if you
implement this feature in the next 6 weeks, etc.)
I might have to go this way. Or even, this was an idea I had: If anyone
wants to help out, then once the library is finished and the first copies
begin being sold, then I'll buy their work off them.
Quote
If you want to be paid up front, you probably will have to do
everything yourself or hire some people to help you do it, but then
you probably shouldn't expect contributions.
I don't expect people to work for nothing, so I'll have to think it out
carefully.
Jonathan
 

Re:Re: cross-platform c++ library

"Jonathan Benedicto" < XXXX@XXXXX.COM >wrote in message
Quote
No I hadn't seen this. I'm downloading it and will check it out, thank
you.
I checked it out, and it is fairly good. Have you tried it ?
Did you know that AFAICS, it draws its own GUI elements ?
Jonathan
 

Re:Re: cross-platform c++ library

"Jonathan Benedicto" < XXXX@XXXXX.COM >writes:
Quote
>If you want to be paid up front, you probably will have to do
>everything yourself or hire some people to help you do it, but then
>you probably shouldn't expect contributions.

I don't expect people to work for nothing, so I'll have to think it out
carefully.
If they're allowed to use a decent library for "free", then they are
not working for nothing, but a greater common good.
Now it is probably coming across (correctly) that I'm a proponent of
the GPL. So consder my bias when you make your decision(s). :)
However, when I was in college, I wrote a couple of BBS utilities that
became somewhat popular within their niche, and it was distributed as
binary only. It was free, but I asked for postcards as a form of
payment. After several hundred downloads (making a long-distance call
to my bbs to get it), including a few dozen international connections,
after a year I received a grand total of ZERO postcards.
Sadly, I didn't have proper backup measures (the backups were
unverified and had actually failed but I didn't know it). My hard
drive crashed, and I lost all the software.
Since I never got "paid" (with postcards) for it anyway, and it was
popular, it was a shame that I hadn't released the source with the
program. It wouldn't have cost me anything, and would have meant that
1) people who didn't trust it could verify what it actually did, and
2) even with my dead hard drive it would have lived on.
In retrospect, the only reason I didn't "open source" it was because
it was a foreign concept to me at the time. The only thing I knew was
binary distribution, and so that's what I did.
--
Chris (TeamB);
 

Re:Re: cross-platform c++ library

"Chris Uzdavinis (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote
If they're allowed to use a decent library for "free", then they are
not working for nothing, but a greater common good.
So a twin GPL/commercial licence might be sufficient to get people to help
out ?
Quote
Now it is probably coming across (correctly) that I'm a proponent of
the GPL. So consder my bias when you make your decision(s). :)
I don't mind the GPL, as long as I can couple a commercial licence to it.
This make SF not an option though, so I'd have to provide my own
CVS/Subversion system.
Quote
Since I never got "paid" (with postcards) for it anyway, and it was
popular, it was a shame that I hadn't released the source with the
program. It wouldn't have cost me anything, and would have meant that
1) people who didn't trust it could verify what it actually did, and
2) even with my dead hard drive it would have lived on.
This is something I'd have to be careful of. I wouldn't want my library to
disappear if I stopped supporting it, or something like this, so I'd have
to have the GPL. This means businesses couldn't use it anymore, so I'd have
to accomodate for this.
Quote
In retrospect, the only reason I didn't "open source" it was because
it was a foreign concept to me at the time. The only thing I knew was
binary distribution, and so that's what I did.
Nowadays, with these different OSes, binary distribution is getting almost
impossible.
Jonathan
 

Re:Re: cross-platform c++ library

"Jonathan Benedicto" < XXXX@XXXXX.COM >writes:
The dual licence seems to work for Qt. They charge quite a bit for
their commercial version too. (And I'd add we have purchased it
anyway.)
Quote
This is something I'd have to be careful of. I wouldn't want my library to
disappear if I stopped supporting it, or something like this, so I'd have
to have the GPL. This means businesses couldn't use it anymore, so I'd have
to accomodate for this.
If GPL'd, businesses *can* use your software, for their own internal
use, or they can use binaries produced with it without worry. The
only "problem" is if they're distributing their own software that
actually uses your source code and they don't want to distribute their
source.
This was a problem for the G++ compiler, whose standard library caused
people to worry about using the compiler at all, since the standard
library might require everything produced by g++ to be under the GPL.
So their solution was to use the LGPL, which allows you to link in the
library code into your application, without causing you to be GPL'd at
all. You *can* use g++ to produce closed-source commercial
applications, because of the LGPL. Perhaps that is a licence you
might consider.
--
Chris (TeamB);
 

Re:Re: cross-platform c++ library

"Chris Uzdavinis (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote
The dual licence seems to work for Qt. They charge quite a bit for
their commercial version too. (And I'd add we have purchased it
anyway.)
I think that this is what gave me the idea in the first place.
Quote
If GPL'd, businesses *can* use your software, for their own internal
use, or they can use binaries produced with it without worry. The
only "problem" is if they're distributing their own software that
actually uses your source code and they don't want to distribute their
source.
So if a business uses my IDE and / or library to build an application, and
they use the GPL version, then they can only redistribute their app along
with its source code ?
Quote
This was a problem for the G++ compiler, whose standard library caused
people to worry about using the compiler at all, since the standard
library might require everything produced by g++ to be under the GPL.
So their solution was to use the LGPL, which allows you to link in the
library code into your application, without causing you to be GPL'd at
all. You *can* use g++ to produce closed-source commercial
applications, because of the LGPL. Perhaps that is a licence you
might consider.
I wouldn't want to allow businesses to be able to use my library without
paying for it, and at the same time I'd like private people to use it for
free, and also allow them to contribute to it.
Jonathan