What to do about a lack of developers for the compiler?

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: What to do about a lack of developers for the compiler?

Post by Tourist Trap »

coderJeff wrote: Yeah, the wiki has some issues to say the least. The wiki software itself needs some attention. I have a little time to look at it. Unfortunately, my holiday is over in a few days, so I don't what I can accomplish just now.
If we are to the chapters of suggestions, I would rather mount a project of a open freebasic book. What is hard in such a thing wouldn't be to feed it with content, if it's open. What's hard is to fix the head lines, the chapters, the titles of the examples. Then up to anybody to fill the blanks.

I don't know if people will catch the nuance compared to a wiki. Anyway, from my experience, for instance with a software like Scilab (free open source math program), or Maxima (same thing, math software), the documentation is one thing, rather arid without real style inside it, but well structured, and books that comes for free (often open source books if we can call it this way) are more original, with focus really put in some exhibition of the things that is expected to be a talk that allows people to talk from where they are really in life. For instance, we won't fill a documentation about FB with examples taken only from applications to biology. With a book, this is possible. The book doesn't talk from nowhere. The documentation is expected to stand from some more neutral place.

Just to share again a point of view. We can at least agree that there could be a book about FB. I can even tell that I've read commercial books about many other languages where the author started by a big thanks to the contributors to this or this dedicated forum ;) So people, write books! Free, or commercial, express yourself !
paul doe
Moderator
Posts: 1730
Joined: Jul 25, 2017 17:22
Location: Argentina

Re: What to do about a lack of developers for the compiler?

Post by paul doe »

Tourist Trap wrote: Just to share again a point of view. We can at least agree that there could be a book about FB. I can even tell that I've read commercial books about many other languages where the author started by a big thanks to the contributors to this or this dedicated forum ;) So people, write books! Free, or commercial, express yourself !
Hi all,

Say, I was thinking the same thing! I've started the project already, but will need some feedback. Since you just touched the subject, should I start a new thread, where we can discuss the issue? That would be great.

Regards,
Paul
stephanbrunker
Posts: 62
Joined: Nov 02, 2013 14:57

Re: What to do about a lack of developers for the compiler?

Post by stephanbrunker »

Slightly off-topic because I cannot contribute to the compiler, but answering to the question: I wrote parts of the windows-related stuff on freebasic-portal.de and its not that complicated to translate it to english, even if its a foreign language for me. I didn't simply because I have no idea if there is a request for it. But then, it would be better than google-translated german anyway and I can put that version on the portal too with an EN-Marker. Time is another matter, too much work and other, non-programming projects but it should be doable in a reasonable amount of time. Did it for my blog too - let Google make the grunt work for you and then edit it to a readable english manually. I can also transfer that to the /examples section of the FB package. Atm I'm working on Named Pipes, a Service and a System Tray App working together from which I can made tutorials and examples too if only to show that you can do all that with FB.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: What to do about a lack of developers for the compiler?

Post by Tourist Trap »

stephanbrunker wrote:let Google make the grunt work for you and then edit it to a readable english manually. I can also transfer that to the /examples section of the FB package. Atm I'm working on Named Pipes, a Service and a System Tray App working together from which I can made tutorials and examples too if only to show that you can do all that with FB.
I would be very kind.
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: What to do about a lack of developers for the compiler?

Post by fxm »

This will be good because only brief FBWiki information about using the Windows API can be found in "Community Tutorials":
Introduction to Message-Based Programming
(+ short code example at GFX_NULL page)
stephanbrunker
Posts: 62
Joined: Nov 02, 2013 14:57

Re: What to do about a lack of developers for the compiler?

Post by stephanbrunker »

What have I to do to contribute at the wiki? I couldn't find a register page ... and by the way: on SF are 1.400 weekly downloads, that is far away from dead ...
BasicCoder2
Posts: 3906
Joined: Jan 01, 2009 7:03
Location: Australia

Re: What to do about a lack of developers for the compiler?

Post by BasicCoder2 »

fxm wrote:This will be good because only brief FBWiki information about using the Windows API can be found in "Community Tutorials":
Introduction to Message-Based Programming
(+ short code example at GFX_NULL page)
Perhaps someone might be up to translating some C tutorials into FreeBasic?
http://slav0nic.org.ua/static/books/C_C ... torial.pdf

Before finding FreeBASIC I spent some time trying to learn all that Windows stuff. At the time I was using C and dabbling in MASM and FASM which also had Windows API tutorials.

The problem I found was that although I could use the examples to achieve the same outcome if I wanted to do something different for which there was no tutorial I wasn't able to figure out how to use the API docs to achieve that outcome. I remember in particular the use of BITMAPS as image processing interested me at the time. The examples were complex and failed to show how to access the bitmaps directly. SetPixel or whatever it was called was slow beyond belief.

With FreeBASIC I had my bitmaps and could process them really fast. With FreeBASIC I was back to the simple world I knew from the old days plus added speed and image resolution.

.
counting_pine
Site Admin
Posts: 6323
Joined: Jul 05, 2005 17:32
Location: Manchester, Lancs

Re: What to do about a lack of developers for the compiler?

Post by counting_pine »

stephanbrunker wrote:What have I to do to contribute at the wiki? I couldn't find a register page
I've created a Sticky in the Documentation subforum.
Basically, choose a temporary password, and reply there giving us the md5sum.
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: What to do about a lack of developers for the compiler?

Post by fxm »

coderJeff wrote:@Tourist Trap, 2 wikis? I dunno. On one hand that does kind of follow a version control strategy -- with one copy being the stable release version, and another copy being the 'development' version that everyone is working on. Ultimately, whomever merges changes to the stable version, has to actually review the changes. Personally, I would rather have everyone contributing someting to the documentation, even if it is not perfect.
Yes, but it will require a serious check (by others who are familiar with the subject) of what is written by any person, because the worst is a false information in the documentation.
In my opinion, it is better to have missing information than bad information (that's why I only deal with topics that I know well).
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: What to do about a lack of developers for the compiler?

Post by Tourist Trap »

fxm wrote: In my opinion, it is better to have missing information than bad information (that's why I only deal with topics that I know well).
I agree.

It's true that if there was nothing really good and strong at this day from the documentation's side, there would be no risk in opening it with little constraint. There would be something to build from start and we could set the priority to the growth of content. Then a second phase would come with content filtering and more severe administration...

My feeling is that we are already in this second phase. The documentation as it, is well furnished with consistent and readable stuff. It has proven to be very reliable and it clearly meets the standard of a language documentation.

There is nothing bad in encouraging more people to add content. The documentation section of the forum didn't succeed in increasing very much the contributions, so yes, why not the wiki?

However, to my eyes, a balance must be found to be sure that the documentation that will be finally marked as official, will never see its quality rank lowered.

In other words, the wiki can be free of use, really. But the documentation release should have a chief redactor, or the approval of one or many experts, basically the dev team.

If we agree, for instance, that the official release will be the offline version (chm file). So this does only mean that this release will be the responsability of the expert(s). I know that doing that consists in transfering the documentation section of the forum at the wiki. Yes it can attract more contributors and reward them immediatly. It can save time for the developpers and experts. But no, it seems not too much advised to name the live version, offical. Time to time, someone should have to make a selection of the wiki production and decide to add it to the official documentation when it desserves it.
speedfixer
Posts: 606
Joined: Nov 28, 2012 1:27
Location: CA, USA moving to WA, USA
Contact:

Re: What to do about a lack of developers for the compiler?

Post by speedfixer »

re: bad or missing information

If the bad information is taught as canon ('the world is flat == never use 'goto') - and then enforced with a punishment (beheading == riducule - or a fail in a classroom) then there would be no change - no brighter future.

If what is taught is understood to be more advice, not law, then others are able to improve on it.

wiki was DESIGNED to be added to by the masses.

Yes, abuse happens.
That points up the need for moderators/administrators.

Pretty simple:
If that is too much work for someone, then someone doesn't care enough.

David


By the way - my contribution:

I have a computer farm at home.

At the moment:

6 systems with enough horsepower and no other tasks
enough energy to power them
4+ other monster horsepower systems always online, if needed

3 to 5 more online in a short time if needed

If the scripts were strong, and the instructions clear, I would be willing to put them to use for FB.
Can the build and package system be scripted well enough for someone like me (moderate skills) to take on the job of handling these tasks?
Can a repository be reviewed and managed such that a set of systems like mine can (relatively quickly) - by script - produce a package on demand for a dev to test?
I appreciate that St_W can produce the nightlies.

The work is in getting a change set ready to make a package - and then initial testing. All the sources must be local to think about making changes. Can a script to download a diff be created to make that download reasonable after the initial? Can a script to UPLOAD the new diff be created ship the changes to a CVS repository so proposed changes are available for critique and review?

For St_W's purpose, any change needs to be tested to some degree before he uses it. We don't want a flood of complaints regarding his work.

Typically, there must be a somewhat 'private' compiled set for initial testing. If not too bad, then release a nightly and see if someone can break it.
How long does it take to generate a completely new FB test set? How long does each platform take to compile?

A great many people are invested in Window mods and want to make changes quickly. Linux people typically want to be more patient. All the platforms need to stay in synchronization.

Admins/devs/ruling board or council for any possible change
Admins/devs for each platform
admins for packages building

-----------------------
In the forums - Community, open new topics: who wants to be an admin? - who wants to be a dev?
----------------------

The whole package is too large for one person. dkl was superhuman in the effort he gave us.
I think the other devs let him take over and drifted away.

Take small bites - little pieces at a time.

The devs needs to work on the code/script changes that will be the new/corrected feature.
There can be one dev per platform. They must each be willing to pull in code from the other devs and reconcile it to their platform.

change - recompile - test

An admin needs to simply keep reviewing the devs work when the dev feels it is ready to publish.
There can be many admins.

The board/council/master admin sits on top and says: this change is ready for nightlies.

1500 weekly downloads
If we assume 1/3 are repeats from a failed install, that still means:

4000 NEW people interested in FB EACH MONTH

That does not sound like a dead language.

Someone take chage.

Where are the old admins?
Why are there only cricket sounds when certain questions are asked?
Can we boot out the missing-in-action?
Who has the keys to the shop?
Who owns this whole thing?
Does that need to adjusted?

Is it time for a FreeBASIC Foundation to start?
I'm willing to donate some serious $$$
St_W
Posts: 1619
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: What to do about a lack of developers for the compiler?

Post by St_W »

re documentation:
Currently the documentation is fetched from the online wiki for a FB release. IMHO modifications should be allowed to be performed by anybody and in a relatively simple way. Thus the currently solution to request a wiki account on the forums is good, but it could be still made easier for new contributors to the wiki. That is one aspect. At the same time we need to review changes done to the wiki. It depends on how many changes will be done how that could be implemented. Currently it's probably fine to look into the "recent changes" list and revert or correct bad changes to the wiki to keep a high quality documentation. If changes get more maybe a system where changes need to be approved first (before getting active/published) can be installed.

re compiler builds:
speedfixer wrote:I have a computer farm at home. [...]
If the scripts were strong, and the instructions clear, I would be willing to put them to use for FB.
Can the build and package system be scripted well enough for someone like me (moderate skills) to take on the job of handling these tasks?
Can a repository be reviewed and managed such that a set of systems like mine can (relatively quickly) - by script - produce a package on demand for a dev to test?
If I had the hardware resources that you seem to have I'd set up a similar system to that I have currently, but virtualize everything. So I'd e.g. install a Hyper-V server with Windows, Linux and FreeBSD running on it. I'd use Jenkins and install it in a Docker container - probably on the Linux machine. Use additional containers for FreeBasic builds on Linux. You could also use e.g. the windows system directly for builds without using Docker. Note that this setup is just an idea and I couldn't try it; and experts can probably suggest a better setup. The big advantage if you use a machine explicitly for FB is that you can allow developers to have a bit more than read-only access to your Jenkins server e.g. so that they can trigger builds or maybe even adjust build configurations.
To automatize the builds you should be familiar with the build process first, so try to do manual builds first. The process is documented in the wiki.
speedfixer wrote:The work is in getting a change set ready to make a package - and then initial testing. All the sources must be local to think about making changes. Can a script to download a diff be created to make that download reasonable after the initial? Can a script to UPLOAD the new diff be created ship the changes to a CVS repository so proposed changes are available for critique and review?
For St_W's purpose, any change needs to be tested to some degree before he uses it. We don't want a flood of complaints regarding his work.
Typically, there must be a somewhat 'private' compiled set for initial testing. If not too bad, then release a nightly and see if someone can break it.
Currently Travis CI (free) is used to get quick builds and test results. So as soon as a developer pushes changes to his private FreeBasic fork the code is built and basic tests are run (Linux 64-bit only, that is a limitation of Travis). As soon as the changes are merged into the official FreeBasic repository my build server builds multiple configurations (Windows, Linux, FreeBSD, 32/64-bit each, and DOS) and runs the tests (Windows and Linux only currently) and builds a documentation from the online wiki.
For building a package additional build jobs would be needed that implement other tasks needed for a full release. Those jobs could be triggered manually or the continuous builds could be extended to build full packages each time (if the hardware resources are available for doing that). Some steps will probably need new tools to automatize them.
If you plan to set up a Jenkins server or any other suitable build infrastructure I'll try to help you if you want so and when I have some spare time (I can't promise anything before mid of next month).
speedfixer wrote:How long does it take to generate a completely new FB test set? How long does each platform take to compile?
Compilation does take about 4 minutes or less depending on the platform and your hardware. Compiling and executing the tests takes about the same time. Note that these timings will vary: e.g. Linux builds are typically faster (2 minutes) and if you have a modern machine it will probably even take only about one minute or two.
fxm
Moderator
Posts: 12081
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: What to do about a lack of developers for the compiler?

Post by fxm »

About the documentation:
The important or critic additions could first be proposed and discussed in the documentation forum before publishing them in the FBWiki, as I have already done for new pages or subjects that are not completely evident to me (thus, I had some corrections on the substance from dkl, counting_pine, ...).
So, after the transfer to the FBWiki, it would mainly only remain the text formatting to be controlled.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: What to do about a lack of developers for the compiler?

Post by Tourist Trap »

fxm wrote:The important or critic additions could first be proposed and discussed in the documentation forum before publishing them in the FBWiki
The question is why would someone (in general) want to subscribe to the forum and to the wiki? I think that it's the contrary the wiki content, whereever it comes from, will have to be discussed in the forum or anywhere else before it gets validated and added (where?).
coderJeff
Site Admin
Posts: 4313
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: What to do about a lack of developers for the compiler?

Post by coderJeff »

Last days I keep thinking about the OP question about if we (community) are willing/able to learn the code and make changes. I think so. I also think that's just one part of the whole scope. There's been discussion of that, plus packages, wiki, admins/moderators, etc. But I think the community around FreeBASIC will make it happen. It will just take time. I think if you want to help, you should figure out what you would be willing to do/learn/accomplish, and just go for it.

----

About the wiki: yes, missing information better than bad information. But obviously, inclusive and accurate information would be best. What can only happen if users regularly make edits no matter how small. And yes, I know I haven't in a long time. Every time I look at the recentchanges page and it's all edits by fxm, I have such guilt.

----

Building dos version - I was able to resurrect a win-xp VM and load latest djgpp 2.05 environment, with gcc 7.1, binutils 2.29, etc. And build the 1.06 dos version. A few unit tests failed. I'm assuming dos users would target FreeDOS or embedded system? I dunno, because running dos progs in a win-xp VM seems pointless. Anyway, the stand alone dos version works. But the binary tools, AS, AR, LD, etc, that would be packaged with fbc-dos are built for i786-pc-msdosdjgpp. Here's an area, that could benefit from a person working on the dos platform, willing to contribute time, maybe learn some new things...

----

Couple years old, but I came across this article about running on raspberry pi. You may recognize the names. Point is, people are doing things with FreeBASIC, and not necessarily waiting around for others to do it for them.
Post Reply