Recent

Author Topic: Free Pascal / Lazarus Foundation  (Read 5059 times)

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #30 on: June 30, 2019, 03:04:09 pm »
Where is the problem?
Use master branch as trunk, fork it into a beta-branch for a new version which then gets forked into release-branch when its finished.

If you want to advocate GIT, first study how SVN is used by FPC. And check the git migration item in the wiki.

Just study how FPC makes releases, and maintains a stable branch and merges back revisions. Note that not all revisions might be merged, and not in order. IOW merge tracking.

Making random branches and doing some manual cherrypicking works in any non ancient VCS. It is in the long term maintenance and associated administration that is the deciding difference
« Last Edit: December 30, 2019, 11:42:33 am by marcov »

ssliackus

  • Jr. Member
  • **
  • Posts: 63
Re: Free Pascal / Lazarus Foundation
« Reply #31 on: June 30, 2019, 03:08:25 pm »
If that is true, then what is the purpose of keeping organisation?
From this discussion I see, that even the foundation exist, it is not functioning, but how is then project being managed? Who is taking decisions a where and how to lead the project? I presume, it is down to small group of enthusiasts and some users, but then it lacks overall strategy and project would stay at that level.

Interesting.

Indeed and FPC could also include the bugtracker in git as other projects do and patches can easily be created as merge-req where devs can directly comment on code lines, syntax problems, other ideas, etc.
Like you do nowadays in 2019 8-)
Personally, I am a git fan. But the bugtrackers on githup/lab... not my cup of tea.
Let's face the fact. The Foundation doesn't really influence the management of neither FPC, nor Lazarus projects.
The Foundation can only choose the repository for the projects its funding.

And thus:
Git and github are totally unrelated discussions.
+1

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #32 on: June 30, 2019, 03:18:31 pm »
Quote
From this discussion I see, that even the foundation exist, it is not functioning,

It is not very active, but the sums are not very large either. And functioning for what? Its intended goal, or some goal you THINK they should have?

Quote
but how is then project being managed?

Open source projects are generally not top-down managed, but collaborative.

Quote
Who is taking decisions a where and how to lead the project? I presume, it is down to small group of enthusiasts and some users, but then it lacks overall strategy and project would stay at that level.

Keep in mind it is a volunteer driven project. Dictating policy without actually providing the resources to do so is pointless, since there will simply be no volunteers to implement the policy.

It has managed fine doing so for 25 years, and we are definitely further than back then. Yes, goals are murky, but the main reason for that is that the resources are likewise murky.

The foundation was meant as a front for donations to work around that by using donations to fund things.

If that is true, then what is the purpose of keeping organisation?

Originally? Create a visible, respectable front for corporate donations and make them tax deductible, and provide a route for fundamental and quicker development by funding projects. IOW it is fundraising only.

However the practical results are a bit strange. They seem to fund "nextgen" (pas2js) development which is more a new project, parallel to lazarus/FPC rather than a part of lazarus/fpc.

IOW what they are spending most funding on is not what is on the top ten request list (which are mostly Delphi features like attributes and anonymous methods).

So personally, I don't understand the foundation's policy either.

ssliackus

  • Jr. Member
  • **
  • Posts: 63
Re: Free Pascal / Lazarus Foundation
« Reply #33 on: June 30, 2019, 04:44:53 pm »
Quote
It is not very active, but the sums are not very large either. And functioning for what? Its intended goal, or some goal you THINK they should have?

It is not about sums, but rather the the overall project coordination - what it should be in 5 years, what features should be implemented first, what should come later, what can be done using volunteers, where we should get help from external resources etc. I understand foundation as brain or as main coordination center.

Quote
Open source projects are generally not top-down managed, but collaborative.

That's is good, but how then disagreements are being solved when there is no structure and subordination? Not saying that it has to be anything like corporate, but it should exist at some scale.

Quote
Dictating policy without actually providing the resources to do so is pointless.

I didn't mean anything like dictating, but rather then prioritising and keeping development aligned with these priorities.

Quote
It has managed fine doing so for 25 years, and we are definitely further than back then. Yes, goals are murky, but the main reason for that is that the resources are likewise murky.

Project is alive, that is a good thing, but if it is doing fine, that depends on how do you measure that . Since I am not very familiar with this project, my samples may sound stupid, but this could be:
- X commercial projects switched to FP and saved Y in cash/time or achieved A, B or C with it
- users base or active FP projects figure grew up from z to Z
- project has been extended into several independed commercial projects which now are funding development of main project

25-years it is a long time and few generations of technologies has changed over that period.

Now I started to think if I could contribute to project somehow.



k1ng

  • New Member
  • *
  • Posts: 37
Re: Free Pascal / Lazarus Foundation
« Reply #34 on: June 30, 2019, 04:50:03 pm »
Where is the problem?
Use master branch as trunk, fork it into a beta-branch for a new version which then gets forked into release-branch when its finished.

If you want to advocate GIT, first study how SVN is used by FPC. And check the git migration item in the wiki.
Seems to have some wrong infos inside...

Where is the problem?
Use master branch as trunk, fork it into a beta-branch for a new version which then gets forked into release-branch when its finished.

Just study how FPC makes releases, and maintains a stable branch and merges back revisions. Note that not all revisions might be merged, and not in order. IOW merge tracking.

'git cherry-pick' ::)
And as patches should be as small as possible, it'll work fine all time.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #35 on: June 30, 2019, 05:13:38 pm »

'git cherry-pick' ::)
And as patches should be as small as possible, it'll work fine all time.

And how does the tracking of that work? And what if it was originally a commit in a forward branch that got merged into masters? And does it work out of order, even if e.g. earlier or later revs touch the same lines.

We all believe the vanilla case works, the devil is in the details.
« Last Edit: June 30, 2019, 05:20:40 pm by marcov »

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2489
    • havefunsoft.com
Re: Free Pascal / Lazarus Foundation
« Reply #36 on: June 30, 2019, 05:30:35 pm »
There's compilers out there written by literally one person entirely within the last five years that at the very least equal FPC in scope minus the "literally do all of the codegen yourself" part.
It has always been this way. Creating a compiler/language is one of the basic practices in any higher education Computer Science courses.
Hobbyists are always more than welcome to create new languages

but...
FPC is an impressive open source project, but it is no longer in a position where anything it does is especially technically interesting or unprecedented.
do you know any OTHER open source compiler that's compatible with other Pascal dialect?
Most important with Delphi codebase, that's the greatest of all pascal (dialect) languages.
Plus add a set of libraries open source libraries for those.

"Technically Interesting". From what I can see, the technical interest of any language typically ends on the ability to interface a C-library. A lot of modern language typically rely on the external library to back them up where the performance in critical.
« Last Edit: June 30, 2019, 05:43:30 pm by skalogryz »
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2489
    • havefunsoft.com
Re: Free Pascal / Lazarus Foundation
« Reply #37 on: June 30, 2019, 05:40:49 pm »
If that is true, then what is the purpose of keeping organisation?
From this discussion I see, that even the foundation exist, it is not functioning, but how is then project being managed? Who is taking decisions a where and how to lead the project? I presume, it is down to small group of enthusiasts and some users, but then it lacks overall strategy and project would stay at that level.
Both projects started long before the foundation. Both FPC and Lazarus projects are being managed by their respective core teams. (btw, getting into a core team is not complicated)

The team members are (as described on the wikipedia) "volunteers".
It's hard to build and cultivate any sort of "strategy" when you don't have any guaranteed resources.

Maybe the Foundation could be the organization to fund the resources, so it could decide the strategy. But it's not there yet (and it doesn't seem to be there in any near future).
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #38 on: June 30, 2019, 05:52:02 pm »
Any non American large project stays away from github (the site, not necessarily running the serves yourself) because of legal aspects.

No, they don't. This is a ludicrous statement to make.

E.G. OCaml is not that popular in the grand scheme of things, but still significantly more popular than FPC, based in Europe, and uses Github: https://github.com/ocaml/ocaml

So does Nim (a direct FPC descendant!) that I'm pretty sure more people have heard of at this point (unfortunately) than FPC (also based in Europe): https://github.com/nim-lang/Nim

Good luck to them. I hope they don't have an Embarcadero looming over their shoulder. 

Quote
Ruby (very popular, originating in Japan): https://github.com/ruby/ruby

Ruby is a different ballpark and has corporate backing. Apple already delivered Ruby with OS X one year after inception. Different class. (and it doesn't matter if that is rightfully so or not).

Quote
And so on. Git (and not necessarily Github, but maybe Github... Gitlab and such are good too though!) are just the way to go nowadays and simply what people the vast majority of people expect.

Nonsense. Just some very vocal minorities.

Quote
I'm sick of always hearing this "what FPC does is definitely totally normal and common" reasoning because it's increasingly becoming blatantly untrue.

Well, that is the lot of people that know everything best, yet refuse to heavily participate.

Quote
People aren't stupid, and some of us actively contribute to other projects and are entirely aware of the reality of things.

I take the fifth on that one.

Quote
FPC is an impressive open source project, but it is no longer in a position where anything it does is especially technically interesting or unprecedented. There's compilers out there written by literally one person entirely within the last five years that at the very least equal FPC in scope minus the "literally do all of the codegen yourself" part.

I always see FPC against such projects a bit as FreeBSD vs Linux in philosophy.

What is Linux? A kernel. What is FreeBSD? A complete project, with the entire base in development plus release management.

IOW FreeBSD=Linux+(a distro).

So no. It is not just having an own backend, but also massive libraries, an RAD based IDE (Lazarus) that has the same philosophy, the utils, the release engineering and everything.

Comparing that to some graduate thesis work that compiles to some other backend is ludicrous.

ssliackus

  • Jr. Member
  • **
  • Posts: 63
Re: Free Pascal / Lazarus Foundation
« Reply #39 on: June 30, 2019, 10:58:05 pm »
I hate accounting myself and much rather spend time programming or other technical stuff, but paying a bit more detail on the transparency when money is involved serves only to cover your own butts in case someone would get really pissed...

Ralf

I am accountant, probably I could help you a little bit with that.
« Last Edit: June 30, 2019, 11:33:20 pm by ssliackus »

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #40 on: July 01, 2019, 09:39:14 am »
Quote
It is not very active, but the sums are not very large either. And functioning for what? Its intended goal, or some goal you THINK they should have?

It is not about sums, but rather the the overall project coordination - what it should be in 5 years, what features should be implemented first, what should come later, what can be done using volunteers, where we should get help from external resources etc. I understand foundation as brain or as main coordination center.

Yeah. So that basically doesn't exist. That is top-down thinking.  There is a very rough sense of shared direction among committers, and that's it.

Quote
Quote
Open source projects are generally not top-down managed, but collaborative.

That's is good, but how then disagreements are being solved when there is no structure and subordination? Not saying that it has to be anything like corporate, but it should exist at some scale.

Basically? More active committers pull rank. But there was some conflict avoidance by only making people (general) committers when they have done a lot of supervised work in multiple areas of the project.

In the last 5 years that flux of new committers has dried up. Some blame it on the commitment of more recent generations, but most think like I do, there are simply more detractions and possible directions for young people. I also think that the waning pascal in education is killing our influx.

Quote
Quote
Dictating policy without actually providing the resources to do so is pointless.

I didn't mean anything like dictating, but rather then prioritising and keeping development aligned with these priorities.

I meant dictating as the instruments to actually do that. If you can't tell anybody what to do, how do you steer?

Quote
Quote
It has managed fine doing so for 25 years, and we are definitely further than back then. Yes, goals are murky, but the main reason for that is that the resources are likewise murky.

Project is alive, that is a good thing, but if it is doing fine, that depends on how do you measure that . Since I am not very familiar with this project, my samples may sound stupid, but this could be:

- X commercial projects switched to FP and saved Y in cash/time or achieved A, B or C with it
- users base or active FP projects figure grew up from z to Z
- project has been extended into several independed commercial projects which now are funding development of main project

These things are hard to measure. Even download counters (as vague as they are) are opague because it is done a lot via mirrors. Moreover, student downloads probably dwarf anything else, but nearly all but a very small percentage stop after their one quarter/trimester/semester structured programming class.

I would guestimate the userbase now is smaller than say 7 years ago, but more serious. (iow really working with Lazarus/FPC, rather than just doing a class)

What did noticeably changed is the attitude of Delphians towards Lazarus. It is taken much more serious.

Quote
25-years it is a long time and few generations of technologies has changed over that period.

Now I started to think if I could contribute to project somehow.

I think that steadfast direction should be considered a strength.  Count the number of open source tools to make a Windows desktop application. There is not much if you discount the various half ported *nix offerings.

IMHO that is strength to build on, much more than e.g. what the Foundation does, trying to implement the umpteenth typed javascript dialect.

ssliackus

  • Jr. Member
  • **
  • Posts: 63
Re: Free Pascal / Lazarus Foundation
« Reply #41 on: July 01, 2019, 11:39:28 am »
What did noticeably changed is the attitude of Delphians towards Lazarus. It is taken much more serious.

That is interesting topic, I will open separate discussion on that.

Thank you.

PascalDragon

  • Hero Member
  • *****
  • Posts: 1928
  • Compiler Developer
Re: Free Pascal / Lazarus Foundation
« Reply #42 on: July 02, 2019, 09:34:51 am »
In the last 5 years that flux of new committers has dried up. Some blame it on the commitment of more recent generations, but most think like I do, there are simply more detractions and possible directions for young people. I also think that the waning pascal in education is killing our influx.
We do however have a few promising candidates currently (J. Gareth Moreton, Ryan Joseph).  :)

Webdrifter

  • Newbie
  • Posts: 3
Re: Free Pascal / Lazarus Foundation
« Reply #43 on: July 03, 2019, 06:16:55 pm »
I stumbled here because I wanted to read into the status of Pascal, which used to be my favourite language in the earlier years.

I ‘ve read this thread with great interest. Maybe as an old fart I might be able to advice.

Mind you, as said, I only know Pascal from the early years, so you have to forgive me that I don’t know yet
how far it has come in all those years.

I’ve been poking around a bit among reviews and experiences of users of SVN and Git.
And as it comes to me right now, it doesn’t seem such a bad idea that you work in SVN with Git bridge.
It’s a bit like like getting best of both worlds.

What I would advise however is to build Freepascal and Lazarus as modular as possible, both with a good workining package system for extentions. Pascal used to be great in this sense (proper compartmentalisation) so I suppose you guys have already accomplishes that.

 Git seems great for smaller and more decentral projects like modules and extensions. And the younger generations can be found more on git nowedays than on SVN. So you could stimulate the younger generation to work on those in Git.

That way you would keep the core into the hands of those who have been given the status of fullblown committers
and give the rest in the hands of the other devs.

So your goal could be to migrate modules and extensions that need a lot of extra development towards Git
and pull them into the core package on SVN as soon they are mature and are expected to need only limited future improvements
(off course taking into account whether you can also turn their committers into SVN proper committers)

And as you noted that “the GIT vs SVN factions are nearly 100% split over compiler vs other devs”,
it seems to me thsat my that solution would also please both faction in your community.

I would consider (if not already present) to give users of Freepascal and Lazarus the opportunity
to choose which hardware platform they which to support with their Pascal programming environment.
That way it will keep things lean.

Also I would start making a clear and timely difference between Planned Releases (LTS), Planned Updates on Releases and Unplanned (emergency) Updates/Fixes.
(Releases having major improments, with less stress on backwards compatibility or even purposly breaking away off old hardware platforms etc.)
(Updates on Releases having minor improments, with High stress on backwards compatibility compared to the original Release, no breakage allowed unless for security reasons)

Thus enabling you to better communicate your development proces and the risks involved for users.
At least communicate wihich improvements and compatibility issues they can expect in the Planned Releases and which in Planned Updates on Releases.

And off course try to put a time limit on it, taking in account what commitments people are willing to make promises on.
(I know this is a hard thing with volunteers but you have to strive to it noneteless, the moment you stop doiing that is the moment you start setting yourself up for a slow death of your project).
 
By better planning and communicating this planning, you enable users to plan and take timely action on their own code or hardware base. Thus creating a market environment for Pascal in which users are more able and willing to evolve their code confrming to the evolution  path of Pascal.

This will enable Pascal to get rid off (archive) old code and get lean not only for users but also for its developers (you guys),
Which, as far as I can see with my limited knowlegde, seems very necesserry to give Pascal development more dynamics considering Pascal had a very slow pace of release over the last years, and does not seem to be able to keep up the pace in this ever faster chaging world, whith less and less programmers interested in maintaining age old platforms.     
 
Also I would advise to make the contributions to and the allocation of those donations by the foundation as transparent as possible.
At least present quarterly numbers on this website/forum, and create a donation page for do digital payments (once or automatic periodically), where people can see what budget is needed to realize certain projects (with links to detsailed info on these projectsl), and choose for which Pascal Project they donate their money.

Also the foundation might consider starting to sell merchandise to fund things
(off course for that you need to have nerd and youngster friendly fashionable logo’s).

Just the two pennies of an old fart, take it for what it’s worth.

Hope it helps, succes.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8556
  • FPC developer.
Re: Free Pascal / Lazarus Foundation
« Reply #44 on: July 04, 2019, 12:44:39 am »
I’ve been poking around a bit among reviews and experiences of users of SVN and Git.
And as it comes to me right now, it doesn’t seem such a bad idea that you work in SVN with Git bridge.
It’s a bit like like getting best of both worlds.

What I would advise however is to build Freepascal and Lazarus as modular as possible, both with a good workining package system for extentions. Pascal used to be great in this sense (proper compartmentalisation) so I suppose you guys have already accomplishes that.

You can try. There are multiple such efforts like fppkg and lazarus packagesmanager

Quote
Git seems great for smaller and more decentral projects like modules and extensions.

Current afaik they simply use zips, and leave the version system decision wholly to the packages maintainers themselves, rather than force something on them.

Quote
And the younger generations can be found more on git nowedays than on SVN. So you could stimulate the younger generation to work on those in Git.

The problem is that this is often small potato experience in relative small projects on github. This experience doesn't really translate to larger projects with some quality control. Catering too much for this difference will lower thresholds, but at the cost of procedures (and possibly quality), which will create an even bigger management problem in the central administration.   

I therefore don't share the thought that advocating GIT changes so much. It is now overly focussed on because it is an easy target. The reality however, it is the problem between having procedures and standards for acceptance and not. That can't be washed away with technology.

FPC and Lazarus have always accepted contributions in patch format. You can just as well generate them from git if the quality of your repo's contents is enough. And if it isn't, the fact that both you and FPC use git isn't going to help either. It only changes the blame game to the next easy argument. (probably some procedure. Why don't you simply pull it from my git? A: because i wouldn't touch that shit with a bargepole because you reformatted everything)

And too much modularization will also create a support issue due to versioning. (at least now the release packages are forced synchronized)

Quote
That way you would keep the core into the hands of those who have been given the status of fullblown committers
and give the rest in the hands of the other devs.

So your goal could be to migrate modules and extensions that need a lot of extra development towards Git
and pull them into the core package on SVN as soon they are mature and are expected to need only limited future improvements
(off course taking into account whether you can also turn their committers into SVN proper committers)

This is a really bad idea. Package dependencies are not static, and some packages would have to move to and from the distribution. Having internal modularization is good, but the repos would need to remain linked.

Quote
And as you noted that “the GIT vs SVN factions are nearly 100% split over compiler vs other devs”,
it seems to me thsat my that solution would also please both faction in your community.

The compiler devs wanting GIT, and the target maintainers and RTL, FCL developers prefering SVN? (or at least not being in favor of the migration. You can still favor GIT and consider conversion and the subsequent lost year not worth it)

Quote
I would consider (if not already present) to give users of Freepascal and Lazarus the opportunity
to choose which hardware platform they which to support with their Pascal programming environment.

That way it will keep things lean.

What hardware problem? Users don't chose. They have to take what is there, or be developers. Most target maintainers started development that way (including me, wanting to run CGIs on my FreeBSD account and ending up porting FPC to FreeBSD)

Quote
Also I would start making a clear and timely difference between Planned Releases (LTS), Planned Updates on Releases and Unplanned (emergency) Updates/Fixes.

Release planning is very limited and very fluid in time. We have been trying to change this for about 20 years now, and it only gets worse :-)

Quote
(Releases having major improments, with less stress on backwards compatibility or even purposly breaking away off old hardware platforms etc.)

I don't really understand all this, but quite often fixes don't let them sort easily in multiple categories, simply because they are related. Also targets often lose support for older OS versions, so porting them back to the LTS versions of those targets is no longer possible.

Quote
(Updates on Releases having minor improments, with High stress on backwards compatibility compared to the original Release, no breakage allowed unless for security reasons)

Sometimes security fixes are done by Linux distros. But the number of incident is still low enough to not even have policy on this.

Quote
And off course try to put a time limit on it, taking in account what commitments people are willing to make promises on.
(I know this is a hard thing with volunteers but you have to strive to it noneteless, the moment you stop doiing that is the moment you start setting yourself up for a slow death of your project).

You simply won't get promises you can hold anybody too, which makes it pointless.

Quote

By better planning and communicating this planning, you enable users to plan and take timely action on their own code or hardware base. Thus creating a market environment for Pascal in which users are more able and willing to evolve their code confrming to the evolution  path of Pascal.

If some users would start working on continuous releases and feed back info into the project (and maybe even become members over time) maybe something would happen here. The problem is that releasing is only a side task for most of the devs too, and to change anything, you would need a (more) continuous release manpower. It is the only way.

But with modularization, lazarus packagemanager, fpcdeluxe etc, this might grow organically over time.  It would help if fpc and lazarus used the same package system for modularization internally, and externally, so that packages could move more fluid between them. But then first people must work on that, and grow it, and only then you can start the big redivide.

There is movement, but it is glacial.

Quote
This will enable Pascal to get rid off (archive) old code and get lean not only for users but also for its developers (you guys),

Not really. Most of such attempts miserably failed, because the users generally are not interested in maintaining, except for a few popular focal points. The few exceptions make developer anyway. So this is probably betting on manpower that simply is not there.

Quote
Which, as far as I can see with my limited knowlegde, seems very necesserry to give Pascal development more dynamics considering Pascal had a very slow pace of release over the last years, and does not seem to be able to keep up the pace in this ever faster chaging world, whith less and less programmers interested in maintaining age old platforms.     

In my opinion it is betting the bank on some magical influx of devels, and requiring a lot of investment up front that will be mostly only have complicated things (and the work void) if that fails.

I've heard it many times, and the argument is flawed, simply because if those hordes were really out there, they would not be hampered by simple things like git vs svn, or some minor ease of use. They would simply get in touch and start working.

Note btw that the number of submissions for some of the retro platforms is higher than of many popular targets. Having old targets is not the problem, getting people to work on the new ones is.

Quote
Also I would advise to make the contributions to and the allocation of those donations by the foundation as transparent as possible.
At least present quarterly numbers on this website/forum, and create a donation page for do digital payments (once or automatic periodically), where people can see what budget is needed to realize certain projects (with links to detsailed info on these projectsl), and choose for which Pascal Project they donate their money.

That irks me somewhat too, that people donated for FPC/lazarus process, and it got invested in a new product, a standalone pas2js with own RTL/libs etc.

Quote
Also the foundation might consider starting to sell merchandise to fund things
(off course for that you need to have nerd and youngster friendly fashionable logo’s).

Works only for projects with very high visibility. And if we get major attendance from some major company, the mugs stuff would be the small potato.

Quote
Just the two pennies of an old fart, take it for what it’s worth.

They abolished cents in the Netherlands  :-)

Seriously. Lots of open doors, and optimistic to extreme optimistic scenarios that are not really supported by fact (all IMHO of course)
« Last Edit: July 04, 2019, 12:57:18 pm by marcov »

 

TinyPortal © 2005-2018