For our August “Community Choice” Project of the Month, the community elected Lazarus, a stable and feature-rich visual programming environment for the FreePascal Compiler. It supports the creation of self-standing graphical and console applications. Developer Mattias Gaertner shared some thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the Lazarus project please.

Mattias Gaertner (MG): Lazarus is a Pascal IDE with RAD capabilities. It uses Free Pascal as compiler. Our main goal is to provide easy cross platform development, with the comfort of a modern IDE.

We also aim to keep the API of our core libraries (LCL) compatible with Delphi, so users coming from Delphi will find it easy to use, and even can port their existing projects to Lazarus. We work closely together with the FPC team, and they share this ambition.

There is a large active community around the Lazarus project.

SF: What made you start this?

MG: Lazarus was started in 1999 to create a Delphi like IDE and visual component library on Linux and other platforms. I came to the project in 2000 needing a good editor for the Free Pascal compiler – an Object Pascal compiler. Soon the goal turned to make Lazarus an x-platform Rapid Application Development tool.

SF: Has the original vision been achieved?

MG: Yes, definitely. Lazarus nowadays supports a dozen platforms in its official releases and many more platforms are maintained by third parties. The visual designer allows to create whole applications with a few mouse clicks. The IDE supports true x-platform editing and navigation. Over the years many more goals have been added, like better Delphi compatibility, converters and hundreds of packages for all kinds of stuff – a whole eco system.

SF: Who can benefit the most from your project?

MG: System and application programmers with long-lasting projects, beginners who want to learn a programming language with an easy learning curve, Delphi programmers who want to port their apps to other platforms.

SF: What core need does Lazarus fulfill?

MG: A good RAD IDE for small to huge FreePascal projects.

SF: What’s the best way to get the most out of using Lazarus?

MG: There is our wiki containing various tutorials, descriptions of packages and links to third party packages. The IDE itself lets you explore the source of every function with a simple click, down to the very root, since everything is Open Source and written in Object Pascal.

There are some Lazarus and FreePascal books as well.

SF: What has your project team done to help build and nurture your community?

MG: We have a Wiki (http://wiki.lazarus.freepascal.org), forum (http://forum.lazarus.freepascal.org/), various mailing lists (https://lists.lazarus-ide.org/listinfo), bug/feature tracker, public svn, git mirror, and build releases for all major platforms. The IDE has a package system for third party plugins. Almost all libraries are extendable and free for commercial use. Last year the Lazarus and FPC foundation was founded.

SF: Have you all found that more frequent releases helps build up your community of users?

MG: Yes.

SF: What was the first big thing that happened for your project?

MG: The 1.0 version was a big thing, as the original goals were officially achieved and from there we started the two separate branches policy. One for the bugfix releases and one for the development version. On the one hand it meant more work for the devels, but on the other hand more companies began supporting Lazarus.

SF: What helped make that happen?

MG: An insisting community. 😉

SF: How has SourceForge and its tools helped your project reach that success?

MG: SF allowed us to distribute our big binaries on a trustworthy site.

SF: What is the next big thing for Lazarus?

MG: QT5, Cocoa for Mac OS, Gtk3, Pas2js and the Online package manager.

SF: How long do you think that will take?

MG: They all work basically, but need to mature. Hard to say when. Depends on contributions.

SF: Do you have the resources you need to make that happen?

MG: Well, with some funding and developers it could happen much faster.

SF: If you had to do it over again, what would you do differently for Lazarus?

MG: Design the structures for multi threading.

SF: Is there anything else we should know?

MG: I would like to thank the community for voting Lazarus as project of

the month.

[ Download Lazarus ]