Michael A. Hess wroteWe have close to 190 members on this list. Some of you are can assume
are future users and not necessary in this to help build lazarus. How do
you see yourself using FPC and the FCL in the future. Do you see
advantages to our doing this one way over another?
Well, what is the goal of this project? Isn't it to create a free and usable high-level (RAD) application framework?
Creating your own widget set does not comply with this goal, for many reasons:
GTK+ is very flexible, portable, free, and very widely used. It has language bindings and themes. If you create your own widget set, it won't be able to take advantage of this (themes etc). This creates vastly less user interface flexibility for developers and users, because whatever lazarus can do will be limited to what the lazarus programmers put in.
And unless you are 50 developers (how many developers wrote GTK+? And it took *years*), that would always be less than what's in GTK+. And unless you complete the goal (make lazarus usable), you won't get enough interested new developers over either - they will instead all go over to using GTK+ and improving it faster than you could hope to follow. The project would look hopelessly outdated and would probably also never reach its goal. And if it was released before then, nobody would use it.
You would have failed. Your effort would be wasted. The project would be a fad. And for no good reason.
For various reasons, Open Source software cannot tolerate the kind of lack of standards, flexibility loss, and fragmentation it implies to re-invent cars (not just wheels) to this degree. You'd experience this soon enough.
(By the way, it is also said that a mediocre programmer reinvents wheels - a true hacker finds existing code to work with.)
On the practical side, you can take example of the wxWindows C++ cross-platform application framework. It can use GTK+, it puts it into a full OOP framework, but it also had a small problem with what GTK+ couldn't do out-of-the-box some things developers would expect to be able to do to a window - so they simple wrote a GTK+ widget tailored for their wxWindows class (win_gtk.c, you could probably even steal it). GTK+ lets you do this, write your own custom widgets without having to change GTK+.
Isn't that everything you wanted, but with the exceptional flexibility, usability, and dependability of GTK+ in addition (not to mention GTK+'s future innovations that you could never keep up with otherwise)?