Recent

Author Topic: How to help - resolution 2020  (Read 1849 times)

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 939
  • Former Delphi 1-7, 10.2 User
How to help - resolution 2020
« on: December 30, 2019, 04:06:43 am »
Since I returned after a decade's absence (old user name trevosx) I've been looking at ways to help.

1) Money
======

* I somewhat set the cat among the pigeons looking into the "Foundation" before the discussion was hijacked by a git vs svn war. However, what came out of that thread was that the Foundation has its own project "pas2js" which it funds. Not quite what one might have imagined, used as I am to the FreeBSD Foundation and the way it supports FreeBSD project. So, funding the Foundation was not going to help the nuts and bolts of Lazarus/FPC. (I did pay up in advance for The Lazarus Handbook should it ever see the light of day, which is to be published by Blaise Pascal Magazine and/or the Foundation - not very clear.)

* I directed some funds to Dmitry of Cocoa widget set fame to help support his work and also provided hardware capable of running the latest version of macOS.

2) Participation
=========

* I try to help in these Forums where I can, especially with macOS and FreeBSD.

* I have renovated and added significant new content to the Wiki especially to the macOS Portal and I setup the FreeBSD Portal and WinCE Portal. I have also fixed template loops and syntax highlighting on many other pages.

3) What more for 2020?
===============

It is hard to know because the whole Lazarus/FPC effort is so opaque. I've tried to get the Wiki main page updated to remove dead content to no avail. It gets a little frustrating sometimes.

The last mention of supporting infrastructure was in 2010!

Do we need an annual fund-raising drive? How to support Lazarus/FPC financially, but not pas2js?

I open to any and all ideas.
o Lazarus v2.1.0 r63871, FPC v3.3.1 r46876, macOS 10.14.6 (with sup update), Xcode 11.3.1
o Lazarus v2.1.0 r61574, FPC v3.3.1 r42318, FreeBSD 12.1 amd64 (VMware Fusion VM)
o FPC 3.0.4, FreeBSD 12.2-STABLE r365646 amd64
o Lazarus v2.1.0 r61574, FPC v3.0.4, Ubuntu 18.04 (Parallels VM)

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2514
    • havefunsoft.com
Re: How to help - resolution 2020
« Reply #1 on: December 30, 2019, 04:40:35 am »
* I directed some funds to Dmitry of Cocoa widget set fame to help support his work and also provided hardware capable of running the latest version of macOS.
worked best to have Catalina going! thank you!
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

valdir.marcos

  • Hero Member
  • *****
  • Posts: 993
Re: How to help - resolution 2020
« Reply #2 on: December 30, 2019, 07:05:34 am »
Since I returned after a decade's absence (old user name trevosx) I've been looking at ways to help.

1) Money
======

* I somewhat set the cat among the pigeons looking into the "Foundation" before the discussion was hijacked by a git vs svn war. However, what came out of that thread was that the Foundation has its own project "pas2js" which it funds. Not quite what one might have imagined, used as I am to the FreeBSD Foundation and the way it supports FreeBSD project. So, funding the Foundation was not going to help the nuts and bolts of Lazarus/FPC.
+1
Quote
(I did pay up in advance for The Lazarus Handbook should it ever see the light of day, which is to be published by Blaise Pascal Magazine and/or the Foundation - not very clear.)

* I directed some funds to Dmitry of Cocoa widget set fame to help support his work and also provided hardware capable of running the latest version of macOS.

2) Participation
=========

* I try to help in these Forums where I can,
+1
Quote
especially with macOS and FreeBSD.

* I have renovated and added significant new content to the Wiki especially to the macOS Portal and I setup the FreeBSD Portal and WinCE Portal. I have also fixed template loops and syntax highlighting on many other pages.

3) What more for 2020?
===============

It is hard to know because the whole Lazarus/FPC effort is so opaque.
+1
Quote
I've tried to get the Wiki main page updated to remove dead content to no avail. It gets a little frustrating sometimes.

The last mention of supporting infrastructure was in 2010!

Do we need an annual fund-raising drive? How to support Lazarus/FPC financially, but not pas2js?
I open to any and all ideas.
+1

I've learning through the last years here that anyone's opinion or experience is irrelevant without source code donation.
Being a core developer it's only and all that matters.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 993
Re: How to help - resolution 2020
« Reply #3 on: December 30, 2019, 07:48:47 am »
...
I somewhat set the cat among the pigeons looking into the "Foundation" before the discussion was hijacked by a git vs svn war. However, what came out of that thread was that the Foundation has its own project "pas2js" which it funds. Not quite what one might have imagined, used as I am to the FreeBSD Foundation and the way it supports FreeBSD project. So, funding the Foundation was not going to help the nuts and bolts of Lazarus/FPC. (I did pay up in advance for The Lazarus Handbook should it ever see the light of day, which is to be published by Blaise Pascal Magazine and/or the Foundation - not very clear.)
...
It is hard to know because the whole Lazarus/FPC effort is so opaque. I've tried to get the Wiki main page updated to remove dead content to no avail. It gets a little frustrating sometimes.
The last mention of supporting infrastructure was in 2010!
Do we need an annual fund-raising drive? How to support Lazarus/FPC financially, but not pas2js?
I open to any and all ideas.
Free Pascal and Lazarus are separated projects, but still symbiotic beings.

Any project manager would get highly frustrated trying to understand how Free Pascal and Lazarus projects work, where they are going, how they are supported, how people could help beyond being core developers.
As a simple example, among many others, I can cite Firebird with a much smaller team, but with clear goals and clear structure:
https://firebirdsql.org/en/planning-board/
https://firebirdsql.org/en/roadmap/
https://firebirdsql.org/en/development/

And you can compare it with Free Pascal and Lazarus projects:
https://wiki.lazarus.freepascal.org/Roadmap
https://bugs.freepascal.org/roadmap_page.php
https://wiki.freepascal.org/FPC_Roadmap
https://wiki.freepascal.org/Road_map

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8729
  • FPC developer.
Re: How to help - resolution 2020
« Reply #4 on: December 30, 2019, 11:49:40 am »
As a simple example, among many others, I can cite Firebird with a much smaller team, but with clear goals and clear structure:
https://firebirdsql.org/en/planning-board/
https://firebirdsql.org/en/roadmap/
https://firebirdsql.org/en/development/

Not really clear how they come to those decisions. And is the project mostly volunteer, or is there some sponsor pulling major strings?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 6615
  • Debugger - SynEdit - and more
    • wiki
Re: How to help - resolution 2020
« Reply #5 on: December 30, 2019, 02:33:14 pm »
I am not sure how frequently those roadmaps are updated (and if those updates are complete).

The problem with roadmaps is, they work best if you have man-hours to plan. I.e., 10 people working x hours a week.
That we do not have. We have the amount of people, but the hours could be 1 per month, or 1 per day or anything else.

Also there is no central body that sets out targets. Each developer decides for them self.
And some big features came as contributions. Obviously there is no way to predict when the next contributor will pop up.

My targets for next year: fpdebug and synedit. What exactly is still open.

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 939
  • Former Delphi 1-7, 10.2 User
Re: How to help - resolution 2020
« Reply #6 on: December 31, 2019, 01:48:29 am »
Martin,  first off, thank you for taking the time to inform the community - it is really appreciated and I'm sure I'm not alone.

The problem with roadmaps is, they work best if you have man-hours to plan. I.e., 10 people working x hours a week.
That we do not have. We have the amount of people, but the hours could be 1 per month, or 1 per day or anything else.

The advantage of an actual support entity, whether it be a foundation or not, is that it fund raises and can then actually pay a developer to work on X. Deciding on X is not decided by the support entity, but by the project's developers.

An example from the FreeBSD world: developer Y, who is not employed full-time, is paid to work on X with the result that developer Y has more (paid) time to spend on X. Another example, the FreeBSD Foundation pays for a dedicated release engineer.

Bounties work in a  similar, but different, way. A user decides on X and then pays a developer to do the work.

As for my mystical support entity: it need not be anything as formal as a foundation although that would have certain advantages, experience shows it would also have certain disadvantages. No, it could be as simple as the current group of committers with one proviso: someone, whether a committer or not, has to commit to keeping the community at large regularly informed be it via the forums or the wiki in return for the support.

Quote
Also there is no central body that sets out targets. Each developer decides for them self.

I don't advocate any entity setting targets for developers, I advocate a support entity that supports the developers in what they choose to do or set as targets.

Quote
My targets for next year: fpdebug and synedit. What exactly is still open.

Great. Is there anything that the community of users can do which would help you achieve your targets?
o Lazarus v2.1.0 r63871, FPC v3.3.1 r46876, macOS 10.14.6 (with sup update), Xcode 11.3.1
o Lazarus v2.1.0 r61574, FPC v3.3.1 r42318, FreeBSD 12.1 amd64 (VMware Fusion VM)
o FPC 3.0.4, FreeBSD 12.2-STABLE r365646 amd64
o Lazarus v2.1.0 r61574, FPC v3.0.4, Ubuntu 18.04 (Parallels VM)

PascalDragon

  • Hero Member
  • *****
  • Posts: 2128
  • Compiler Developer
Re: How to help - resolution 2020
« Reply #7 on: December 31, 2019, 11:34:30 am »
The advantage of an actual support entity, whether it be a foundation or not, is that it fund raises and can then actually pay a developer to work on X. Deciding on X is not decided by the support entity, but by the project's developers.

An example from the FreeBSD world: developer Y, who is not employed full-time, is paid to work on X with the result that developer Y has more (paid) time to spend on X. Another example, the FreeBSD Foundation pays for a dedicated release engineer.

Bounties work in a  similar, but different, way. A user decides on X and then pays a developer to do the work.

The FPC/Lazarus foundation does provide this already. If you look at the projects you can also see (aside from pas2js) some projects that are related to the compiler like Extended RTTI or Anonymous Functions. Even the non-compiler related projects like Reporting Engine are important, because it's not only about the language/the compiler, but also about the provided libraries.

Though MvC would need to keep it updated a bit more (e.g. the custom attributes have been merged by now).

As for my mystical support entity: it need not be anything as formal as a foundation although that would have certain advantages, experience shows it would also have certain disadvantages. No, it could be as simple as the current group of committers with one proviso: someone, whether a committer or not, has to commit to keeping the community at large regularly informed be it via the forums or the wiki in return for the support.
This can only be done for the projects sponsored by the foundation as everything else is done privately. For example: no one knew that I worked on the m68k backend back when I revived it, cause I didn't want anyone to know about it as I wanted to surprise the others (which I did ;) ).

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 6615
  • Debugger - SynEdit - and more
    • wiki
Re: How to help - resolution 2020
« Reply #8 on: December 31, 2019, 04:59:09 pm »
As for my mystical support entity: it need not be anything as formal as a foundation although that would have certain advantages, experience shows it would also have certain disadvantages. No, it could be as simple as the current group of committers with one proviso: someone, whether a committer or not, has to commit to keeping the community at large regularly informed be it via the forums or the wiki in return for the support.
The idea/need for a foundation IIRC arose due to fees or taxes. (Not sure which, I think fees). I.e. receiving money as a donation on a private paypal account meant a hefty deduction by paypal...
(I may remember that incorrectly...)

Quote
Quote
My targets for next year: fpdebug and synedit. What exactly is still open.

Great. Is there anything that the community of users can do which would help you achieve your targets?
Without wanting to hijack this thread....
If anyone wants to further discuss any/all of the below please open a new thread and link to it. So it will be easier to follow, and not be lost among the other topics in this thread.

On FpDebug: Beta testing. I can't possible test all variation of platform, fpc versions, dwarf versions, and user behaviour when using a debugger.

Code contribution are also welcome. Check if your idea would be acceptable (or otherwise should be an installable add-on package). Discuss where to add your code, and implement it.
There is currently an avr version of fpdebug in the making https://forum.lazarus.freepascal.org/index.php/topic,47073.0.html
But there are other, simpler things that can be done:
- Extending the Watches and Locals window (maybe including the Inspector and Hint too) => Add a treeview (un)foldable display for structures and arrays
- Allow (re-)sorting of watches (move watch up/down)
- Fix issues, like register window does not keep display settings (set a register to be shown as hex, will revert after each single step)
- more expert: implement an fpdebug-server (useful for Mac users)   and/or fpdebug via gdbserver
- .....

SynEdit: contact me if you have an idea. SynEdit has a very specific design (or is in the process of getting there). So add-ons need to adhere to this (or to what it will be).
For example the vertical lines for begin/end (and other) blocks were a contribution by Pascal (username). Though that was a task requiring rather more expertise.
The need for a spell checker would come to mind (medium experience level).
« Last Edit: December 31, 2019, 05:01:34 pm by Martin_fr »

ccrause

  • Sr. Member
  • ****
  • Posts: 303
Re: How to help - resolution 2020
« Reply #9 on: January 07, 2020, 01:28:42 pm »
Without wanting to hijack this thread....
Martin, visibility of your TODO later list (for nice to have, non-critical or annoying problems)  is a great opportunity for someone to start contributing.  It would be great if such a list is maintained for all of Lazarus, with a brief description and possibly a couple of references to functions relevant to the problem.  Since the code base is massive, it is difficult in general to locate functionality, never mind figuring out the interactions between different layers of the IDE.  Of course this would require someone to do administrative work!  Also the TODO/help required list should be visible and active, perhaps a sub forum, not a semi static wiki page?

Just my random thoughts...

 

TinyPortal © 2005-2018