[Lazarus] Universal FontDialog for LCL

Kostas Michalopoulos badsectoracula at gmail.com
Mon Mar 11 13:38:58 CET 2019


On Fri, Mar 8, 2019 at 12:55 PM Juha Manninen via lazarus
<lazarus at lists.lazarus-ide.org> wrote:
> Everybody wants to include their custom components in LCL. Why?

Most likely because it is much easier to have a single "batteries
included" installer that provides everything you need out of the box
now and much more likely to be there and working in the future (since
it is part of the codebase that the Lazarus devs are compiling against
after every modification), than chase after packages provided by
others who may or may not keep them available and up to date (keeping
your own copies can solve the "available" part, but then you take
unofficial ownership of the package for the "up to date" part).

FWIW i tend to avoid anything that isn't part of Lazarus itself
personally. The only time i used an external package was with
multithreadprocs and i was very happy when i saw it become part of
Lazarus itself.

Besides, Lazarus already comes out of the box with a ton of packages,
it isn't weird to expect that you can add more to it.

Which makes me wonder, what is the goal with the bundled packages? Are
they going to transition to OPM with Lazarus only providing the "bare
bones", are they going to stay frozen in time or are they going to be
expanded and if so, what would be the criteria for expansion?

FWIW i think Python's approach sounds good here: the installers come
"batteries included" with stable APIs that you can generally rely on
being there in the future with no (or very minimal) changes (ignoring
the Python2-to-Python3 fiasco at the moment), but you can still get
more stuff through PIP and over time useful packages "migrate" from
PIP to the official distribution (as long as there aren't
functionality duplicates, but that is mainly because of Python's
"there should be only one way to do something" and Lazarus already has
several duplicates already).


More information about the lazarus mailing list