[Lazarus] Please define "delphi compatibility"

Juha Manninen juha.manninen62 at gmail.com
Thu Oct 11 02:56:57 CEST 2012

On 10/10/12, Bart <bartjunk64 at gmail.com> wrote:
> But then again, it would be nice for committers to know if extending
> an LCL component beyound it's Delphi's counterpart is considered to be
> "officially" OK (as long as the extension is considered usefull and
> meaningfull and not just fullfilling the needs of very few people (and
> there may be more criteria)).
> Getting back to the thread that stated this discussion:
> I could spend time and energy on implementing an ImageList for
> TDBNavigator (which Delphi doesn't have, and which maybe usefull for
> more than just a few people). But i would then become very frustrated
> if the patch was rejected because of "Delphi incompatibility".

I think ImageList for TDBNavigator would be good. At work we searched
for a way to change those glyphs in Delphi because they now use
strange colors.
So, go ahead!

The Delphi compatible LCL components have been extended already in
many ways. I don't see any core developer being against it.
A practical issue only has been that LCL was not ready and it made
more sense to get the basic functionality working first before
extending it much.

The focus may change when things mature. My personal opinion is that
both the IDE and the libraries must innovate and go beyond the Delphi
equivalents to be successful. No project ever has become successful by
ONLY imitating something else. On the other hand, backwards (and
Delphi) compatibility is important. Most people would not be
interested in this project otherwise.
Like with any library there is a fine balance between those things but
I don't see any fundamental problem.

Sometimes a patch gets ignored for a long time which is bad of course.
The core devels are busy or their interest happens to be somewhere
Bart, you have commit rights for LCL. Your judgement is trusted.
Please use your super-powers. :)

More personal thoughts:
Lazarus starts to be so big that it is more like an umbrella project.
Libraries, components, LCL widgetset bindings etc. can be added
without disturbing the rest of the system. A whole new GUI library
could be added and the designer could be adjusted for it. Yes, Mattias
has made a proof-of-concept designer extension for it.
So, things are flexible. Anything can be done.

And more:
I think this is a sweet spot in Lazarus development. Some diligent
developers have put huge amounts of time and effort without getting
much positive feedback. Now the results are showing, Lazarus is very
usable and gets more attention.
I sense respect and trust between developers, not big egos as somebody
wanted to explain.
The areas of response got divided rather naturally. For example I have
improved the IDE's usability, nobody told me to do so and I didn't
"decide" to do so. It just happened.

My experience in life says that things cannot work so nicely for long.
Lazarus gets more popular, more developers join. At some point some
developers start pulling to opposite directions. But, let's not think
of that now ...

Hmmm... What was the problem? I don't see any big problems.
More high quality code would be needed, that is a problem of course.


More information about the Lazarus mailing list