Lazarus

Free Pascal => General => Topic started by: Akira1364 on January 17, 2016, 01:56:02 am

Title: I hate to play the "Devils Advocate", but.....
Post by: Akira1364 on January 17, 2016, 01:56:02 am
Wouldn't FPC be significantly "farther-along" development wise if the dev team spent more time improving the RTL and FCL, and less time making the compiler work on ludicrously obscure architectures that no one uses? I mean, for example, I challenge anyone to tell me with a straight face that targeting OS/2 (which has been ENTIRELY deprecated since at least 2001) is a worthwhile endeavor in the year 2016. Why go through all that trouble to cater to a demographic that literally does not exist? Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Cyrax on January 17, 2016, 02:03:37 am
For fun and experience? Mind you, this is open source project and you can improve it too. Or pay somebody to do work for you.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: lazjump on January 17, 2016, 03:02:07 am
Wouldn't FPC be significantly "farther-along" development wise if the dev team spent more time improving the RTL and FCL, and less time making the compiler work on ludicrously obscure architectures that no one uses? I mean, for example, I challenge anyone to tell me with a straight face that targeting OS/2 (which has been ENTIRELY deprecated since at least 2001) is a worthwhile endeavor in the year 2016. Why go through all that trouble to cater to a demographic that literally does not exist? Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)

+1
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: aidv on January 17, 2016, 03:21:33 am
Although I agree on that FPC dev team is wasting time on supporting systems and platforms that are useless, I at the same time agree that it's an open source project and anybody can contribute on whatever they feel is necessary for the future.

But I would love to see the project take a more commercial route to make it more attractive.

Implementing HTML5 and Java compilation such as what Smart Mobile Studio is doing would be very nice.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: ArtLogi on January 17, 2016, 03:44:17 am
What I think about "browsers as next OS" https://youtu.be/xYONRn3EbYY?t=18m27s

All respesct to Mr. Wolfram, but that sums it up. "please don't use your phones for a while so we get enough bandwitch". and after world will realise how much it eats power to just turn a google page..
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: skalogryz on January 17, 2016, 04:31:00 am
Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)
Odd to hear that.
FPC supports Windows, Linux, Mac, iPhone, Android and Raspberry PI already (and have been supported it for quite awhile).
RTL works fine on each of these platforms.
some FCL packages work on certain platforms as well. (i.e. please don't expect OpenGL to work on iOS target, OpenGLES should be used instead!)

Please note, that FPC team is "compiler development team" in the first place.
Improving FPC library-set is really out of the team scope.
Actual FPC users (non developers) should do that, and they really do.

Slowly, without dramatic advertising campaigns (i.e. like Delphi does), but still, it's work in progress.
Just find a library for a desired subject (99% it has already been started, if not you're the one) and start contributing to it.
Specifically, by writing docs and telling everyone about it.

Let FPC-team do what they're best at: FP Compiler.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Akira1364 on January 17, 2016, 05:35:47 am
Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)
Odd to hear that.
FPC supports Windows, Linux, Mac, iPhone, Android and Raspberry PI already (and have been supported it for quite awhile).
RTL works fine on each of these platforms.
some FCL packages work on certain platforms as well. (i.e. please don't expect OpenGL to work on iOS target, OpenGLES should be used instead!)

Please note, that FPC team is "compiler development team" in the first place.
Improving FPC library-set is really out of the team scope.
Actual FPC users (non developers) should do that, and they really do.

Slowly, without dramatic advertising campaigns (i.e. like Delphi does), but still, it's work in progress.
Just find a library for a desired subject (99% it has already been started, if not you're the one) and start contributing to it.
Specifically, by writing docs and telling everyone about it.

Let FPC-team do what they're best at: FP Compiler.

I know they support those platforms already. The point I was trying to make is that those are what most people would consider to be "relevant" platforms that are actually WORTH supporting in the year 2016.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: ykot on January 17, 2016, 05:37:02 am
I don't know how FPC team works internally, but it is my understanding that some of supported platforms are developed by specific people who in one way or another do work on such platform, so it wouldn't make any sense for them to work on areas outside of their interest, need or expertise.

...Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi...
How did you come up with this list? What criteria was used for it? You do realize that there are other platforms than what you mentioned *and* are not deprecated? For one, you did not mention any of embedded platforms, supporting which, in my opinion, is extremely valuable - including both ARM and AVR (Arduino).

Supporting platforms such as OS/2 these days can be considered exotic, but under specific circumstances, I could understand the need for it - for instance, there could be specific piece of hardware and/or software that you need to interact with on an exotic platform, even if it is deprecated. In some cases, it could be extremely expensive to upgrade hardware/software instead of simply developing some kind of interface for it.

Why go through all that trouble to cater to a demographic that literally does not exist? ...[cut]... I just want to understand the reasoning behind it!
One illustration I can come up with: what is more worthwhile, to support a platform, where a thousand "lazy loosers" can write a "hello world" app to get rid of their class homework and never get to use these development tools again, or supporting a platform, where a couple, maybe two or three, scientific groups work on fine-tuning/upgrading satellite telemetry system? This is just an example.

My point is, FPC's quantitative demographic may or may not represent the actual "worthiness" of one specific platform. In fact, I think, it is a combination of quantitative + qualitative factors that may determine importance of some platforms, which does require a significant research into that topic before it can be discussed like that.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: skalogryz on January 17, 2016, 06:09:15 am
I know they support those platforms already. The point I was trying to make is that those are what most people would consider to be "relevant" platforms that are actually WORTH supporting in the year 2016.
The support is coming from an interested party, a certain contributor (a person or an organization).
I.e. MSDOS support (yep, in 2016) is provided by a single developer. 
The "core" team only verifies and guides the development.

So the fact, that in the next release there's a support for some non-mainstream system, is due to someone doing very very good job, rather than "core" team wish.

Btw, anyone else is welcome to do the contribution that they find fit.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Thaddy on January 17, 2016, 09:28:16 am
btw msdos and derivatives are still used on embedded systems. Yes even on new systems... It is just not mainstream anymore for desktops.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: JanRoza on January 17, 2016, 01:46:50 pm
Quote
improving the RTL and FCL

Why, what's wrong with them?
I use Lazarus/FPC now for all development instead of Delphi 2007 and have no problems with them.
The only problem I have every now and then is that some components are not available or not working properly as in Delphi when using Lazarus/FPC but most of the time there's always a workaround.
So no complaints from me for the Lazarus/FPC developers.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: BeniBela on January 17, 2016, 03:02:07 pm
I have one project, and every time I have made a new release in the last 5 years, one user comes, builds it for OS/2 and sends me the binary.  %)

It still seems to be a quite popular platform

(althought it is a c++ project, so it does not matter for fpc's OS/2 support )
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: marcov on January 17, 2016, 04:13:34 pm
Why go through all that trouble to cater to a demographic that literally does not exist? Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)

The reality is that demographic of people wanting to work on the odd ball targets is larger than on e.g. Android.  Manpower is not allocated but volunteered, and thus can't be steered.

That might (also) have something to do with the fact that those old targets are fairly static, and thus simpler to keep up with parttime.  The more modern the target, the more volatile effort put into it seems to be.



Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Leledumbo on January 17, 2016, 06:45:04 pm
Wouldn't FPC be significantly "farther-along" development wise if the dev team spent more time improving the RTL and FCL, and less time making the compiler work on ludicrously obscure architectures that no one uses? I mean, for example, I challenge anyone to tell me with a straight face that targeting OS/2 (which has been ENTIRELY deprecated since at least 2001) is a worthwhile endeavor in the year 2016. Why go through all that trouble to cater to a demographic that literally does not exist? Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it? I mean no offense by any of this... I just want to understand the reasoning behind it!  :)
As skalogryz says, if support for a platform you might never hear appears, that means someone is contributing on that. The core compiler team improves the compiler. More language features, more optimizations, etc. Feel free to diff 2.6.4 and 3.0.0. FCL does improve as well, we now have a lot of google API wrappers ready to use. No other language implementations ship with this.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: marcov on January 17, 2016, 08:52:45 pm
Usually fcl-db alone is good for 100 mutations per year.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: jwdietrich on January 17, 2016, 08:54:55 pm
Free Software is an interesting model of spontaneous order, in the way David Hume understood it. You might want to read the excellent article "The philosophy of free software (http://www.techradar.com/news/software/the-philosophy-of-free-software-1119579)" at techradar.

To summarize the main idea: If there is a "market" for an exotic platform it will probably be supported (there is even an incomplete port of FPC for IBM mainframe computers). If you see a market for improving RTL and FCL you could invest time or money to get this job done. The Bounties (http://wiki.lazarus.freepascal.org/Bounties) page in the wiki is a good place,
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: skalogryz on January 18, 2016, 01:25:19 am
Free Software is an interesting model of spontaneous order, in the way David Hume understood it. You might want to read the excellent article "The philosophy of free software (http://www.techradar.com/news/software/the-philosophy-of-free-software-1119579)" at techradar.
Ugh. a few points on "Spontaneous order":
* a lot of "free software" projects are managed by big foundations/corporations. So it's hard for me to agree that for these projects the order is really spontaneous. These projects have to compete with commercial counterparts.
* "the developers, not wanting to write software that's not going to be used by anyone, may well also look elsewhere for new projects to work on that people will find more useful." - or they can keep (and keep and keep) working on the same project, trying to improve it and compete with other (price signaled) projects. Arbeit macht frei ?

Imho, "free software" needs to be more honest about involvement into commercial aspect of development.
Yes, it might be a passion, that drives a developer into a "free software" project, but on the longer scope,  there has too be an actual monetary support for that. And that eventually makes "spontaneous order" less significant, that it seems to be shown in the article.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: jwdietrich on January 18, 2016, 01:31:32 am
@skalogryz: This has to do with the subtle difference between "free software" and "open source software".
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Graeme on January 18, 2016, 01:50:50 am
Wouldn't FPC be significantly "farther-along" development wise if the dev team spent more time improving the RTL and FCL, and less time making the compiler work on ludicrously obscure architectures that no one uses?
Simple, because somebody needs it. ALL the targets that FPC officially supports are used by somebody and has a dedicated maintainer.

Quote
I mean, for example, I challenge anyone to tell me with a straight face that targeting OS/2 (which has been ENTIRELY deprecated since at least 2001) is a worthwhile endeavor in the year 2016.
Next time do your research before you make such bold statements. ;D  OS/2 might not be supported or developed by IBM any more (at least not publicly, but at a price they will and still do), but eComStation does still sell and support a much improved OS/2. Also in mid 2015 IBM licensed OS/2 to a second company that will be making there own improvements to OS/2 and they plan on releasing the fist version in Q4 2016.

  http://www.osnews.com/story/28933/Blue_Lion_new_OS_2_distribution_due_2016 (http://www.osnews.com/story/28933/Blue_Lion_new_OS_2_distribution_due_2016)
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Graeme on January 18, 2016, 01:56:29 am
Why not just target Windows, Linux, Mac, iPhone, Android, maybe Raspberry Pi, and be done with it?
You might only use those platforms, but others use different platforms. eg: What is not mentioned in your list is my primary day-to-day operating sysstem - FreeBSD. This is just one example.

Also not all FPC developers work on all parts of the Free Pascal project. Each developer in the Free Pascal project has a specialised area they work on or maintain a specific platform. Some work on the compiler itself, some in the RTL, some in the FCL, some only on platform specific code etc.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Akira1364 on January 18, 2016, 02:38:50 am
I actually just use Windows. And FreeBSD I was sort of mentally filing in the "Linux/Unix/e.t.c" drawer. My initial post was more directed at the objectively outdated obscure  platforms like Gameboy Advance, e.t.c.... Also by no means was I trying to give a definitive list of what platforms FPC should support, they were moreso just "common"  examples.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: skalogryz on January 18, 2016, 03:02:35 am
@skalogryz: This has to do with the subtle difference between "free software" and "open source software".
Personally, I don't see any difference between both terms.
Is there a list of free vs open source projects?

Besides, if we could put it as simple as:
Free sw - anything under GPL license
Open Src sw - anything under LGPL license
Then Open Src has a benefit, since commercial users eager to contribute to these projects more.

Would FPC be popular, if RTL were under GPL license?
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: taazz on January 18, 2016, 03:15:26 am
@skalogryz: This has to do with the subtle difference between "free software" and "open source software".
Personally, I don't see any difference between both terms.
Is there a list of free vs open source projects?

Besides, if we could put it as simple as:
Free sw - anything under GPL license
Open Src sw - anything under LGPL license
Then Open Src has a benefit, since commercial users eager to contribute to these projects more.

Would FPC be popular, if RTL were under GPL license?
Personally I see the difference as free software is something you can freely use as you see fit usually with out cost for purchasing it while open source is everything that you get the source for it, free or not. For example dia is a free and open source software while developer express component suit is open source but not free.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Graeme on January 18, 2016, 04:56:18 pm
Personally, I don't see any difference between both terms.
Easy. Some software is free (released in binary form), but not open source. So you get the binary and can use the program as much as you like, but you don't have access to the source code.

Open Source projects are normally free and open. Meaning you can use it as much as you like for no cost, and you have access to the source code.

Quote
Besides, if we could put it as simple as:
Free sw - anything under GPL license
Open Src sw - anything under LGPL license
No, no, no... you clearly don't understand the difference.

Quote
Would FPC be popular, if RTL were under GPL license?
No it wouldn't be popular at all. Why, because of the GPL license. If any program you wrote used that RTL, it would mean your application had to be GPL too (in other words - open source and GPL licensed). That is a GPL license requirement. So writing commercial software (closed source) with FPC would then become impossible - unless you implement your own RTL which is not based on GPL or on the RTL included with FPC. That would be a nightmare!

The Free Pascal team purposely chose the FPC compiler to be GPL, so the compiler itself is always free and open source. But the RTL was made available as LGPL with the static linking exception, which means it is open source and you have the option to create closed source projects.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: skalogryz on January 18, 2016, 06:06:55 pm
Personally, I don't see any difference between both terms.
Easy. Some software is free (released in binary form), but not open source. So you get the binary and can use the program as much as you like, but you don't have access to the source code.

Open Source projects are normally free and open. Meaning you can use it as much as you like for no cost, and you have access to the source code.

Quote
Besides, if we could put it as simple as:
Free sw - anything under GPL license
Open Src sw - anything under LGPL license
No, no, no... you clearly don't understand the difference.
@Graeme. Please refer to the article (http://www.techradar.com/news/software/the-philosophy-of-free-software-1119579/3).
"Free Software" is referred to non-closed source software.
The article is written in the context of open source (free source) community and proving the advantages of the development model.
Free software with a closed sources is typically referred as "Freeware" (https://en.wikipedia.org/wiki/Freeware)

I just disagree about the "Spontaneous order" section.
The author stated that, as if all free software projects are evolving due to a some sort of "passion" in the development teams and that no "price signal" are affecting the project.

Here's an example. Firefox browser. It's actually free software, since it falls under 4 freedoms, defined by Stallman (https://en.wikipedia.org/wiki/Free_software#Definition_and_the_Four_Freedoms).
But I'm quite positive, that Mozilla Corporation influences how the project is developed, and they've to be aligned with "price signal"

P.S. the terms Open Source, Free source are overloaded these days. Making them perfect market brands :D

Title: Re: I hate to play the "Devils Advocate", but.....
Post by: jwdietrich on January 18, 2016, 08:02:49 pm
P.S. the terms Open Source, Free source are overloaded these days. Making them perfect market brands :D

"Overloaded" is a very elegant wording for this kind of ambiguity. :)

Let's look, what the free software foundation writes about the term "Free":

Quote
“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. We sometimes call it “libre software” to show we do not mean it is gratis.

Source: What is free software? by gnu.org (http://www.gnu.org/philosophy/free-sw.en.html)
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: marcov on January 18, 2016, 08:24:24 pm
I actually just use Windows. And FreeBSD I was sort of mentally filing in the "Linux/Unix/e.t.c" drawer. My initial post was more directed at the objectively outdated obscure  platforms like Gameboy Advance, e.t.c.... Also by no means was I trying to give a definitive list of what platforms FPC should support, they were moreso just "common"  examples.

The problem is always counting users. It is wrong. The equation is developers = activityquote * users.

For popular targets the activityquote is SO small, the number of users times the activityquote of a project might actually be less than the same product for yesteryears targets.

Example: we are still waiting for the first person to really work on Windows 8/10 Mobile (Windows Desktop/WINRT, UMA etc) applications. Potentially every windows 8/10 user (and a bunch of lumia owners) are the usercrowd. Unfortunately their activity is exactly zero.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: Ñuño_Martínez on January 22, 2016, 02:36:20 pm
I think there are no discussion:

If somebody is working on it, then it is supported, else if nobody is working on it, then it is not supported.

And I really love that FPC supports such old and weird stuff as DOS, OS/2, PalmOS and AmigaOS.  It adds some difference.
Title: Re: I hate to play the "Devils Advocate", but.....
Post by: marcov on January 22, 2016, 02:46:18 pm
One could only argue that FPC could inform people better which targets are active or not.

But this would also be only an average/indication on very large timescale. It is specially hard to detect a developer stopping, sometimes developer changes jobs and plans to do something, and just doesn't get to it, or only the next christmas holiday etc etc.

At the same time, sometimes people are working on things that haven't been merged into a major tree for quite a while. (e.g. the D2010 RTTI support)

Personally I think FPC is too small a project for such administrative burden.