After a year of beta testing, TnFOX (forked from the FOX toolkit) has made its first production ready release. TnFOX extends FOX in a number of important areas such as mission-critical support, multithreading, exception-safety, strong encryption, Inter-Process Communication (IPC), Python bindings, human language translation and enhanced host OS facilities access in a Qt API compatible fashion. TnFOX is available for Win32/Win64, Linux and FreeBSD.
It looks like they got the xft patches in. Fox(FXRuby) is pretty big with rubyistas.
Maybe I’m wrong (I hope so), but it seems the scenario is rather strange.
We have the Fox toolkit, which is developed by a single developer (Jeroen van der Zijp). Now, another guy (Niall Douglas) forks Fox and develops an ‘enhanced’ version.
Summary: we have a single developer toolkit with a single developer fork. And I wonder: why don’t these two guys join efforts?
This open source world is sometimes so odd…
“Summary: we have a single developer toolkit with a single developer fork. And I wonder: why don’t these two guys join efforts?”
Maybe they’re just doing it for fun?
If you’re building your own computer for fun, and suddenly some zealot jumps into your house, holding a gun to your head, and forcing you to “join” the other hobbyist computer builders to build One Great Computer(tm), how would you feel?
well, maybe it is fun, but I think you can have fun and still contribute to someone else’s work. I’d like to see Fox evolve.
The nature of open source being open, I’m sure that true innovations and improvements will be shared across the projects.
“We have the Fox toolkit, which is developed by a single developer (Jeroen van der Zijp). Now, another guy (Niall Douglas) forks Fox and develops an ‘enhanced’ version.
Summary: we have a single developer toolkit with a single developer fork. And I wonder: why don’t these two guys join efforts?
This open source world is sometimes so odd…”
I can answer this – it’s the old NetBSD vs. FreeBSD thing. Jeroen likes lots of compatibility with lots of old compilers and legacy systems. I wanted to use very new features with plenty of metaprogramming which reduces TnFOX to being able to use about three compilers, plus I really couldn’t give a sod about any more than about three kinds of POSIX Unix (the most popular three). Hence a fork was born …
Neither project is going away – TnFOX has been around for at least 18 months now and FOX continues to plough ahead, albeit slowly. And I needed stuff sooner than that, so I got to work. As another poster said, that’s half the fun of open source – I just hope my thousands of hours benefits someone else.
Of course, we DO work together. There is TnFOX ideas and code in FOX and TnFOX merges FOX updates regularly. Isn’t this good overall?
Summary: we have a single developer toolkit with a single developer fork. And I wonder: why don’t these two guys join efforts?
This open source world is sometimes so odd…
Not Odd. Being able to do a fork is the whole point of open source. Then it comes the sharing of code between the two projects, and lastly, one project swallowing the other. A full circle in a darwinist fashion. It makes it stronger. It is evolutionary in global terms, and each project is a meritocracy. It serves for its own improvement seen from any perspective.
No offense to anyone but if your intelligent your going to stay away from his code. He is breaking the LGPL and inventing himself a license and some rule which are not existent.
He is building on top of someone else LGPL code and goes on to say that his code which he is adding is not covered by the LGPL …
he aslo goes on to say that the GPL is not a sustainable License …
http://www.nedprod.com/TnFOX/licenses/License_Addendum2.txt
My advice to him get a brain the GNU/GPL as been around for almost 23 years and people have been sustaining themself and making a fortune off of it just as long and helped other do the same …
You dont whant to respect the license dont use it at all.
Microsoft cant beat the GPL an they have the second best lawyer of the entire planet , the first are working on the GPL for the FSF … and the LGPL is written just as tight …
Its even worst because the two project are mixing codes …
what happened to all the ruby bindings and such? fox has them.. tnfox doesnt.
sometimes it sucks to be a ruby programmer….
On the other hand, there’s Python binding, mentioned as an important feature. 🙂
Boost.Python really is an amazing tool.
Ayuh, the only reason I’d use this would be for ruby support. Otherwise, who cares?
If his extension files are not derivative works of the Fox toolkit itself, then he is allowed to do this, because the LGPL explicitly permits that.
I dont know if his extension files just link to Fox, like an app based on fox would, and thus, due to the LGPL, he may chose any licence he sees fit, or if it is alltogether just a modified version of the Fox libraries, which he simply decided to distribute using a delierately tightened licence which expresses his personal hatred against the GPL.
“No offense to anyone but if your intelligent your going to stay away from his code. He is breaking the LGPL and inventing himself a license and some rule which are not existent.”
No I am not breaking the LGPL!
I have been involved with the FSF (Europe) for some years and have worked hard to keep software patents illegal in Europe. I have been releasing open source software since the mid 1990’s and I think it is pretty much conclusive that I have proved my credentials here.
However, that does not mean I support the GPL. The LGPL is equivalent to the GPL through clause 3 which allows complete conversion to the GPL without permission of the author. And yes it is true, I have forbidden that conversion in source files wholly copyright to me (not ones derived from FOX sources). The intention is to nullify clause 3 for the whole of the project.
This isn’t incompatible with the LGPL (which allows different source files to have different licenses), nor the GPL (which allows any license so long as source is supplied which it is). All I have not permitted is conversion of my code to a license I do not support.
Now this will probably be constituted as a flame, and the rest of this thread will be all about how clearly wrong I must be. Well, feel free to think that if you want. On the other hand, you could just read my reasoning why (eg; that the GPL causes exactly the same problems as closed source does for commercial projects which make up the lion’s share of software development globally), then maybe you might just understand that I may have a point, even if you and the majority of open source programmers wouldn’t agree.
Remember, nothing about this license change prevents usage in BSD, LGPL, GPL or closed source projects. The only change from the LGPL is the removal of clause 3 which has no legal effects whatsoever (ask any lawyer). And before someone points it out, yes I have released software under the GPL before and I shall do so again in the future – I do so when I have to, otherwise I avoid it.
Cheers,
Niall
I have forbidden that conversion in source files wholly copyright to me (not ones derived from FOX sources). The intention is to nullify clause 3 for the whole of the project.
If your own source files are part of this extended and modified toolkit, and not some extension you link against the original toolkit, you actually may not change its original licence, thats the point. And you seem to do exactly that by striking out this clause from it. You also cant take for example Emacs, extend it, and publish your additional source files under a licence different than the GPL. Why should other conditions apply to modifying the FOX library?
Did you even read his post? His change only applies to his source files, not any files from the original application.
The TnFOX is a fork of the FOX project, based on some rather unique ideas of Niall.
I’m not really sure what Niall is trying to accomplish with this fork, but he has asked my permission to do so, and he has received it, as long as the obligations under the LGPL [+FOX License Addendum] are met w.r.t the code which come from the main FOX project.
What anyone else says about the appropriateness of his project w.r.t. the LGPL license is therefore really quite immaterial.
At any rate, any piece of open source software can be coopted and modified, that is basically the point of the openness. Sometimes this is done for in-house projects, sometimes to address some special needs, sometimes its because there is disagreement in technical direction.
In the case of TnFOX… Only Niall knows why his fork exists!
At any rate, the main FOX projects proceeds vigorously, and keeping up with the changes and merge them in his own fork must be a daunting task for Niall.
I don’t envy him, as there can not be much glory in such a task.
“At any rate, the main FOX projects proceeds vigorously, and keeping up with the changes and merge them in his own fork must be a daunting task for Niall.
I don’t envy him, as there can not be much glory in such a task.”
Thank you very much Jeroen, and yes indeed it is. I had to merge three FOX’s in the ten days before this release and it’s a PITA especially as you’d changed the XDND stuff which meant I had to manually fix it to work inside per-thread event loops. However, it is letting me learn FOX internals as well as anyone and that’s good.
Before this thread goes nuts with pro or anti GPL invective, I’d like to say that I do view the GPL as a necessary evil for the time being which needs to continue acting as a counterveiling force to the exploitation of closed source. However, even Stallman says that without copyright law, the GPL ceases to exist and IMHO there’s going to have to be reform in all intellectual property law eventually as the current situation is ludicrous – it’s totally unsustainable in the long term. So believe it or not, the GPL just like closed source software will disappear one day – and I think I remember reading that Stallman is just okay with that if the new system is sane.
In other words, chill out everyone! Accept your allies for what they are, don’t force behaviour onto others as MS and IBM would. My position is far more with you than against you, so please treat it as such.
And if anyone still thinks I can’t do what I have done, feel free to report me to the FSF. I am 100% confident that I am in the green here, though it would be nice to have an official letter from the FSF proving it so I can save having to explain myself again, and again, and again …
Cheers,
Niall
So Niall, any chance of getting some ruby bindings in TnFOX?
The developer (Lyle Johnson) working on the FOX Ruby Bindings (FXRuby) is a close friend of mine; He lives in the same town and we often get together to keep each other abreast of developments.
Lyle will soon commence the FOX 1.4 Ruby bindings and I can tell you with 100% certainty that he’s going to implement that on top of the main FOX distribution.
“So Niall, any chance of getting some ruby bindings in TnFOX?”
I am not adverse to having more developers, and certainly not to accepting patches which Jeroen tends to be wary of.
However I should explain my motivations for TnFOX, which will explain my position on Ruby bindings. I have spent the many thousands of hours on TnFOX for one reason – to produce a suitable portability library for Tn. Tn needed a higher level language than C++, so I made python bindings (which I must emphasise still need work).
Tn doesn’t need another higher level language though it would be nice if it had one. So I have no incentive to produce Ruby bindings, though if I didn’t have to do any work then I’d happily let someone else maintain them.
Furthermore, AFAIK the only tool for creating Ruby bindings is SWIG. SWIG requires a lot more maintainence work than Boost.Python, and unless things have changed SWIG doesn’t like C++ metaprogramming at all. So creating and maintaining Ruby bindings would be a LOT more work than BPL based bindings which are ridiculously easy to maintain.
Of course, if you want to volunteer, or anyone does, I’ll be happy to evaluate any thoughts on tnfox-discussion?
Cheers,
Niall
I thought that Ruby was bending more towards Wx now and not Fox?
since lyle’s FXRuby is a really nice binding, and it has been there for a lot of time, I’d say Fox is quite liked and used in the ruby community. wxRuby has been developed a lot of time after FXRuby was created, it may gain more ruby devs, but I don’t think it has them ATM.
Sorry for bringing up licensing issues, but…
From http://www.nedprod.com/TnFOX/licenses/License_Addendum2.txt :
“The GPL permits use of non-GPL libraries
so long as they too make their source code available.”
AFAIK, that’s not true. The GPL only permits linking to libraries that either have a GPL compatible license, or libraries that can be considered part of the OS. E.g. you can’t link GPL code with OpenSSL (which uses a free, but GPL-incompatible license).
If it were possible to link your modified license with GPL code, your exception wouldn’t make any difference. If someone wanted to make a GPL-contaminated fork of TnFOX, they’d just have to GPL their own additions (but keep your license for your code and any modifications to your files).
It’s your code, and you get to choose the license and I don’t really have any issues with it. But I think you should remove that part that claims GPL compatibility — chances are you’ll create a mess similar to the confusion surrounding license incompatibilities between Qt and KDE (before Trolltech GPL’d Qt, that is. The license problem existed even after Qt was open sourced, but used the QPL).
AFAICS, you either have to choose GPL compatibility and therefore risking being sucked into its black hole, or GPL incompatibility (which prevents GPL apps to use it, but avoids being black holed).
““The GPL permits use of non-GPL libraries
so long as they too make their source code available.”
AFAIK, that’s not true. The GPL only permits linking to libraries that either have a GPL compatible license, or libraries that can be considered part of the OS. E.g. you can’t link GPL code with OpenSSL (which uses a free, but GPL-incompatible license).”
The only reason the OpenSSL license isn’t compatible is because it comes with extra restrictions the GPL doesn’t permit eg; having to display “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)”. I think a future version of the GPL could easily remove such incompatibilities without any consequence to copyleft.
There is no fixed list of compatible or incompatible licenses with the GPL – see http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean .
“If it were possible to link your modified license with GPL code, your exception wouldn’t make any difference. If someone wanted to make a GPL-contaminated fork of TnFOX, they’d just have to GPL their own additions (but keep your license for your code and any modifications to your files).”
Absolutely correct. And I’d be totally happy with that.
“It’s your code, and you get to choose the license and I don’t really have any issues with it. But I think you should remove that part that claims GPL compatibility — chances are you’ll create a mess similar to the confusion surrounding license incompatibilities between Qt and KDE (before Trolltech GPL’d Qt, that is. The license problem existed even after Qt was open sourced, but used the QPL).”
I don’t believe it’s GPL incompatible – the GPL doesn’t require compatible licenses permit conversion to the GPL so removing clause 3 has no effect on compatibility. Therefore my license is just as compatible with the GPL as the BSD or vanilla LGPL licenses.
In contrast, the QPL did make incompatible requirements for commercial use, hence it was clearly incompatible. Maybe it would be an idea to get an emailed confirmation from the FSF confirming all this?
Cheers,
Niall
Jeroen and Naill,
Don’t let these other guys bring you down. You two and Lyle are doing a fantastic job and I for one really appreciate it. I really love coding in Ruby and FOX, I can only hope that it becomes more popular.
DZ
“I have been involved with the FSF (Europe) for some years and have worked hard to keep software patents illegal in Europe.”
vs.
“I’m considerably more familiar with the venture process now and besides, there’s no way I can raise the funding for the software patents required for the US (over 100k euro!).”
“I’m considerably more familiar with the venture process now and besides, there’s no way I can raise the funding for the software patents required for the US (over 100k euro!).”
Why do you think RedHat also files software patents even though it promises it will never use them? Go read any basic business startup book and then come back to hassle me.
Cheers,
Niall
There is no fixed list of compatible or incompatible licenses with the GPL
Actually GNU maintains one, not that it is in any way definitive:
http://www.gnu.org/philosophy/license-list.html
Although to add my 2 cents, anyone claiming you’re violating the LGPL is clearly just mistaken…
“Why do you think RedHat also files software patents even though it promises it will never use them?”
I think Red Hat’s position is documented well enough in the public record.
“Go read any basic business startup book and then come back to hassle me.”
That was not the point I was trying to make, although if you must insist on a global empire, you’d better get used to laying out the big bucks to deal with screwed-over “intellectual property” regimes.