Recent

Author Topic: New component tab with graphic components like TArrow, TLed etc.  (Read 44854 times)

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3611
  • I like bugs.
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #30 on: May 22, 2013, 07:23:15 pm »
New component in progress for Industrial package   TAdvLed
Replacement of component indAdvLed :

There is already a bug report about indAdvLed. I guess it does not need fixing.
 http://bugs.freepascal.org/view.php?id=24464

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 753
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #31 on: May 23, 2013, 02:32:11 am »
The bug come from the fact that in the TControl class the property Hint is published not the property ShowHint which is public. You must publish this property in your component so that you can edit it if the inherited classes of your component don't have this property published.
The components of  Cyndy et EXControls package( codetyphon) have this problem and also some components of industrial package. The components TanalogSensor and TStopLight sensor haven't this problem because they inherit from Tpanel class which have the property ShowHint published.

Friendly, J.P
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 753
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #32 on: May 23, 2013, 12:25:24 pm »
Industrial component Tab

Component Tarrow      origin: TgrArrow Author Howardpc license GPL ? ask to Howardpc
Component TindAdvLed   origin:TcyAdvLed from Cindy Package (codeTyphon) license : MPL alternatively GPL LGPL
Component TindLed      origin : TcyLed from Cindy Package (codeTyphon) license : MPL alternatively GPL LGPL
Component TLedNumber   origin : TVPLedLabel from VisualPlanIt Package (codeTyphon) license : MPL
Component TAnalogSensor,TStopLightSensor  origin : sensors.Pas delphi  license : Freeware (with sources)
Component TindGnouMeter   origin : TplGnouMeter from Extra Controls package (codeTyphon) license : MPL alternatively GPL LGPL

The component TindAdvLed will be replace by TadvLed  origin : TcomLed from Comport package delphi license : public Domain

If necessary TLedNumber could be replaced by TplLCDline  from Extra Controls package (codeTyphon) license : MPL alternatively GPL LGPL


for the update a big patch ( many files have changed  , others have been deleted, others have been renamed) or the complete package (modified and build from the last svn lazarus) ?


Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3611
  • I like bugs.
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #33 on: May 23, 2013, 01:23:25 pm »
Ok, there was an issue with licenses after all. I did not look at it carefully enough.

Component Tarrow      origin: TgrArrow Author Howardpc license GPL ? ask to Howardpc

Howardpc, is it OK to change it to LGPL? A component included in LCL cannot be GPL.

Quote
Component TLedNumber   origin : TVPLedLabel from VisualPlanIt Package (codeTyphon) license : MPL

MPL is good, isn't it?

Quote
Component TAnalogSensor,TStopLightSensor  origin : sensors.Pas delphi  license : Freeware (with sources)
...
The component TindAdvLed will be replace by TadvLed  origin : TcomLed from Comport package delphi license : public Domain

What do these mean in practice? Can they be used?
The license issues are boring. In most cases the author has no objections for using his component, but we still must get the license terms right.

Quote
for the update a big patch ( many files have changed  , others have been deleted, others have been renamed) or the complete package (modified and build from the last svn lazarus) ?

In this case it makes no difference. I am not touching the package now, I will just apply your changes.
In future the package may indeed move to Lazarus-CCR. You could well be the maintainer of it.

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #34 on: May 23, 2013, 01:51:54 pm »
Quote
Component TAnalogSensor,TStopLightSensor  origin : sensors.Pas delphi  license : Freeware (with sources)
...
The component TindAdvLed will be replace by TadvLed  origin : TcomLed from Comport package delphi license : public Domain

What do these mean in practice? Can they be used?
Yep, public domain is basically "do whatever you want".
If no further terms are specified, IMO, freeware specifies the same thing: "do whatever you want".
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 753
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #35 on: May 23, 2013, 02:34:45 pm »
in attachment the package IndustrialStuff (check  new files, modified files , deleted files). Juha tell me if is it good for you.
ShowHint property now visible in all the components.
TadvLed replace TindAdvled
Example updated


Friendly, J.P
« Last Edit: October 07, 2013, 02:25:51 am by Jurassic Pork »
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3611
  • I like bugs.
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #36 on: May 23, 2013, 11:03:03 pm »
in attachment the package IndustrialStuff (check  new files, modified files , deleted files). Juha tell me if is it good for you.
ShowHint property now visible in all the components.
TadvLed replace TindAdvled

I applied it. Thanks.
I removed IndAdvLed. I will check other files to be removed.
A patch is actually nice also for big changes like this. It handles removed files as well.

Jurassic Pork

  • Hero Member
  • *****
  • Posts: 753
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #37 on: May 24, 2013, 04:26:00 am »
it seems to be OK now. I have updated my Lazarus with the revision 41377. Tested on Win7 lazarus 32 bits and Ubuntu 12.04 64 bits.
the files to be deleted :
in source folder :
cyBaseLed.pas
cyClasses.pas
cyGraphics.pas
cyTypes.pas


For the MPL 1.1 Licence read this http://www.mozilla.org/MPL/1.1/annotated/

Friendly J.P
« Last Edit: May 24, 2013, 04:48:18 am by Jurassic Pork »
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

howardpc

  • Hero Member
  • *****
  • Posts: 3069
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #38 on: May 24, 2013, 09:33:44 am »
Quote
Howardpc, is it OK to change it to LGPL? A component included in LCL cannot be GPL.
Sure LGPL is fine. In fact, I mistakenly thought it already was. I'd also be happy for the copyright to be
   (C) 2013 Lazarus team
or something similar. Components included in Lazarus ought to have the most flexible and open licensing possible to fit the wider open source philosophy. I'm glad that the Lazarus community is basically about sharing, and openness to improvement by others to yield the highest quality software it is realistic to achieve.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3611
  • I like bugs.
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #39 on: May 24, 2013, 10:05:33 am »
Sure LGPL is fine. In fact, I mistakenly thought it already was.

Ok, I should verify before writing anything. The license already is LGPL, more precicely "GNU Library General Public License".
Jurassic Pork, why did you write it is not?
The whole header is copied below. I have earlier moved the Copyright text below license header and added the Abstract description.
Does anybody see a problem there?

One thing though. "Copyright (C) 2013 H. Page-Clark" could be changed to "Author: H. Page-Clark" for consistency reasons as other LCL and IDE files as marked that way. I don't know what the law says. Is the author automatically the copyright holder, or is it automatically the "Lazarus team" which distributes the files? Anyway it is not important because of the license terms.

Code: [Select]
{
  ***************************************************************************
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Library General Public License as published by
  the Free Software Foundation; either version 2 of the License, or (at your
  option) any later version.

  This program is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
  for more details.

  You should have received a copy of the GNU Library General Public License
  along with this library; if not, write to the Free Software Foundation,
  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  ***************************************************************************

  Copyright (C) 2013 H. Page-Clark

  Abstract:
    Show an arrow. Its size, direction, color and shadow can be adjusted.
}

taazz

  • Hero Member
  • *****
  • Posts: 5363
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #40 on: May 24, 2013, 10:14:42 am »
as far as I can understand the law, everything created outside a contract is automatically copyrighted by the author otherwise that author would require to ask for permission when using that peace of code from the copyright holder. The copy you have is licensed under what ever terms the copyright holder has grand you and he can also give you the copyright if he wants to in which case he looses all rights on it.
Personally I would give my copyrigths to any one only a license to use freely but at the same time I want to be able to use that in any kind of situation with being hold down by gpl, mpl, MIT, or any other type of license.

Keep in mind I am not a lawyer so all the above are my interpretation of what lawyers have said.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #41 on: May 24, 2013, 10:18:32 am »
Ok, I should verify before writing anything. The license already is LGPL, more precicely "GNU Library General Public License".
Note that there's a difference between the plain LGPL and the "modified LPGL" that is used in other components. See your lazarus dir, COPYING.modifiedLGPL.txt.
IMO, the modified LGPL works better as it spells out that you can create commercial works using the components.

The whole header is copied below. I have earlier moved the Copyright text below license header and added the Abstract description.
Does anybody see a problem there?
Moving stuff does not seem to be a problem. As mentioned above, if Howard agreed, I'd change the license to modified LGPL. Sample from fpvectorial.pas:
Quote
fpvectorial.pas

Vector graphics document

License: The same modified LGPL as the Free Pascal RTL
         See the file COPYING.modifiedLGPL for more details
edit... though we're in Lazarus here, so something like this would be better (from components/lazcontrols/dividerbevel.pas):
Quote
  Copyright (C) 2010 Lazarus team

  This library is free software; you can redistribute it and/or modify it
  under the same terms as the Lazarus Component Library (LCL)

  See the file COPYING.modifiedLGPL.txt, included in this distribution,
  for details about the copyright.

One thing though. "Copyright (C) 2013 H. Page-Clark" could be changed to "Author: H. Page-Clark" for consistency reasons as other LCL and IDE files as marked that way. I don't know what the law says. Is the author automatically the copyright holder, or is it automatically the "Lazarus team" which distributes the files? Anyway it is not important because of the license terms.
Copyright is automatically assigned to the author per the Berne copyright convention (IIRC most countries signed this, including US and European countries).
So in that sense it doesn't matter. IIRC, US law used to have some convention that you had to indicate you add copyright, but (once again IIRC) no fixed format for that. Regardless, the "Copyright (C) bla" convention began.

Edit: looking at Howard's post: he is happy with assigning the copyright to the "Lazarus team".... which is of course a bit of an amorphous group, but yes, it would broaden the openness as other members of the team (or the team itself, don't know, I'm - fortunately - not an IP lawyer) could relicense the code if they wanted. In that situation, Howard could still reissue his own code under whatever license he thinks fit.
In practice, I doubt it would matter much.

Thanks for looking into these pesky license issues for us.
« Last Edit: May 24, 2013, 10:31:01 am by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #42 on: May 24, 2013, 10:37:29 am »
<nitpick mode>
Jurrasic Pork's license notice could do with some changes, IMO:
(Note: he's probably a better programmer than I but I am probably more of a neurotic pedantic type. I therefore really don't mean this as criticism to JP. To each his own ;) )
Quote
*  This file is part of Lazarus which is distributed under the modified LGPL*                                                          *
No. Lazarus as a whole is not distributed under the modified LGPL. E.g. the IDE itself is GPL, IIRC. Other components have their own licenses, or are double licensed.

Quote
*  See the file COPYING.modifiedLGPL.txt, included in this distribution,    *
 *  for details about the copyright.                                         *
No, it's not details about the copyright, it's details about the license. Otherwise ok (though specifying where COPYING.modifiedLGPL.txt if it's not in the current directory would be almost obligatory).

Quote
*  This program is distributed in the hope that it will be useful,          *
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                     *
Now we get some snippet out of (presumably) the LPGL. Why is this here? Referring to the actual, complete license text makes this part unnecessary and ambiguous: does this section override the general license? Does it try to clarify/more precisely define that license?
I'd get rid of it.

I would therefore suggest replacing the above with similar text to the dividerbevel.pas example I gave above.
</nitpick mode>
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3611
  • I like bugs.
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #43 on: May 24, 2013, 11:20:46 am »
I would therefore suggest replacing the above with similar text to the dividerbevel.pas example I gave above.

Good catches BigChimp.
The same header text blocks are copied again and again. I copy them and so did JP.
BTW, your dividerbevel.pas example contains the same "details about the copyright" error you complained about.

I agree there is no reason to emphasize the lack of warranty. It is already mentioned in the license text with different wording.
The "WITHOUT ANY WARRANTY" with capital letters is so American.
When would someone insist to have warranty for LGPL SW? If the TArrow component causes somebody's computes to explode then he will sue us. (?)
Rather hypothetical, and already covered in the license.

I am planning to fix those issues in all source files. If other developers have objections, it can always be reverted.

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: New component tab with graphic components like TArrow, TLed etc.
« Reply #44 on: May 24, 2013, 12:26:57 pm »
BTW, your dividerbevel.pas example contains the same "details about the copyright" error you complained about.
LOL ;)

I am planning to fix those issues in all source files. If other developers have objections, it can always be reverted.
Ok, big dreary task but it will definitely clarify things.

While you're at it would you know under what license
($LazarusDir)/images falls? It does not contain any license info about the image files that are there.
($LazarusDir)/COPYING.txt does not mention the license situation.
http://bugs.freepascal.org/view.php?id=23780

Thanks for the hard work!
« Last Edit: May 24, 2013, 01:56:10 pm by BigChimp »
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified