Saturday, September 26, 2020

Bold source is available!

Yes, finally Bolds source is available !

To make a long story short, her are Bold for Delphi repository.

The longer story

I begin working with Attracs in autumn 2005. I had no knowledge about Bold or even Delphi. First Bold seems hard to learn and cryptic. But after a while, I saw the beauty in it. Less code that does more. The level of abstraction is increased. This is perfect for complex business logic. It felt strange that it was only available for a few developers because Borland/CodeGear/Embarcadero keep the IP and have no maintenance.

May 2012. Seriously I started the idea to make Bold available for the whole Delphi community at summer. By an accident, my achilles tendon was cut off. I could not work, have to use crutches and I was restless. I thought what a waste of time and intellectual resources with many unofficial forks of the same thing, original Bold. I wanted Bold as open-source, free to everyone to use, inspect, and improve the code. Probably I was naive that I could change the current situation. But I realize that send a single email to Embarcadero wouldn’t change anything. A petition could be a possibility. So I set it up and tried to spread the word. Not much happened. But after a while, ADUG posted a blog about this on DelphiFeeds. And the number of signs increased. A lot of comments revealed the frustration of the situation. It appears that there was a lot more demand for a framework like Bold than I initially guessed.

August 2012. Now I got attention from Embarcadero. After some emails, I and representatives from my employer Attracs had a Skype meeting with Embarcadero. We all agreed on NDA. I was so amazed and happy that they talk about to publish the code. Finally! But Embarcadero was busy to deploy new versions of RAD Studio so 3 versions passed, XE3, XE4 and XE5. Occasionally I have discussions with Embarcadero when they had time.

October 2013. Finally, we arranged a second meeting on Skype with Embarcadero, myself and representatives from Attracs. Unfortunately, the meeting failed. Embarcadero had terms for the license that Attracs could not accept.

January 2014. I had another Skype meeting with Embarcadero. We discussed how to continue as we both have common interests in Bold. But no concrete result from this.

September 2014. Meeting by phone with a representative from a german company. They are stuck with Bold and D2007 like Attracs but unlike Attracs that have no access to the full source. We agreed they will contact a german lawyer to clarify the legal situation. The lawyer got access to the license draft from Embarcadero and our BoldScala license from 2002. A clause was added to the license to protect developers in case Embarcadero change license conditions. The license was inspected by Embarcadero.

When Marco Cantu begins working as a product manager at Embarcadero I begin to email him. We agreed that it makes sense to have Bold as open source. But he thought it would take a long time before it would happen. And he was correct, it took a long time. I have dreamed about this but it is real now! We should send a big THANKS to Marco Cantu for his work to realize this. I don't believe it has happened without him.

But this is just the first step on the journey. There is so much to do.
There is now a Slack space dedicated to Bold for Delphi and how to organize stuff.
If you are interested in Bold I can invite you if you send an email to roland(dot)bengtsson(at)gmail(dot)com.

Current situation and roadmap
  • Current source is for D2006/D2007. There is a missing file due to copyright problem but we work to solving that
  • Attracs Bold version is for Delphi Sydney. We will publish that when som dependencies are removed.
  • Bold have no visual UML editor. There are discussions of the best options.
  • The documentation is a bit old. Not many examples and demos for beginners. If you feel not confidence to change in Bold itself here is a field that welcome more contributions. Maybe a Youtube video "Getting started with Bold for Delphi"!
  • We have some unittests but as always there is much room for improvement.
  • Currently it feels like we try to support D2007 but has focus on later Delphi versions.

Finally I want to thanks to all that signed the petition. Without that I don't think we got the attention from Embarcadero and Bold would still be closed. To ADUG that posted my petition, that step spread the word a lot. And to Embarcadero company that agreed to publish the source to customers.

Roland Bengtsson


  1. From the first look at the source, you will also need a FireDAC connection component so that you can connect to databases via FireDAC.

  2. That is true. Source is old so Firedac doesn't exists at that time. Luckily it should not be that hard to implement a Firedac dbadapter.

    1. I used and promoted ECO quite a lot. I even visited the team in Sweden a couple of times. Having Bold in the latest Delphi release would be truly interesting. Still, without "interfaces" to current data sources and data formats (JSON...) it will not be able to catch up with other options. Don't get me wrong, I am quite realistic that this all might be coming and you are at the initial stage :-)