Let's hope Delphi will become free (at least limited version of it) at some point. Yea, I know about Starter, but I'm not sure, I can use Starter at my job even for my personal projects. Don't get me wrong - FPC is great, but it suffers from common problem of all free projects - it isn't as polished and well supported, as commercial projects are. Example: 8 years passed since release of Delphi 2009 and FPC still isn't fully compatible with it.
Please, don't spread this fallacy. First, FPC is great and it has nothing to do with being free and open source project. There are many free open source projects out there that are as good as or even better than Delphi. In fact, the development tools world is now going free and open source, even Microsoft's.
(afaik the opened VS code is a different one then the engine of VS. It originated in an portable version meant to expand .NET use to non MS products)
The problem with FPC (and Lazarus as well) isn't because it's free and open source, but rather the lacks of financial support to back the development.
Manpower. Of course manpower could theoretically be bought, but FPC organization couldn't manage full time programmers atm. Sometimes however companies that work with FPC employ people to do work on it though.
But mainly it is volunteer power that is needed. And that is not just fulltime developer. It can also take the form of becoming a kind of knowledgable power user for a package, filing bugs, testing problems and submitting the occasional patch.
Second, FPC speaks object Pascal, not Delphi.
There is no difference there. Older versions of Delphi called the language "Object Pascal", and they changed it later because of marketing reasons. FPC can't call it Delphi since that is trademarked.
FPC can be great without having full compatibility with Delphi.
Sure. But the question is if that is really needed. It only frustrates people that try to keep codebases compatible with both, increasing the maintenance burden.
It is easy to play firebrand and to say FPC must stand alone, but the consequences are dire.
And compatibility goes both ways, it's not just an obligation for FPC to be compatible with Delphi (or other Pascal compilers, for that matter), but also the other way around.
From Idera/Embarcadero that is hopeless, but many 3rd party Delphi component builders are doing the best they can to bring out products for FPC or keep their products FPC/lazarus compatible.
FPC and Lazarus are NOT the free and open source vesion of Delphi. If you keep thinking that FPC and Lazarus must be exactly like Delphi to be great, then you're using it wrong. If you prefer Delphi then please use Delphi, and be ready with all the consequences. The same goes if you prefer to use FPC and Lazarus. Both Delphi and FPC/Laz has its own strength, weaknesses, advantages, and disadvantages, etc. If you pick one, you should accept each uniqueness.
The problem is that there is a big difference between the lofty goal of being an independent project and deliberately frustrating compatibility and people working hard to keep codebases working with both compilers out of some misplaced pride sentiment.
I always regretted heavily the choice of Lazarus for objfpc which adds very little except being "different".