Recent

Author Topic: Commercial components  (Read 8638 times)

proxy3d

  • Jr. Member
  • **
  • Posts: 76
Commercial components
« on: September 07, 2012, 10:51:20 pm »
Lazarus license does not allow the development of commercial components?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9867
  • Debugger - SynEdit - and more
    • wiki
Re: Commercial components
« Reply #1 on: September 07, 2012, 11:18:54 pm »
http://wiki.lazarus.freepascal.org/Lazarus_Faq#Can_I_make_commercial_plug-ins_for_Lazarus.3F

It does. At least LCL and IDEIntf  (They are LGPL with extra permission to link)

LCL contains the common stuff (TForm, TButton, TLabel)
IDEIntf  allows you do register with the IDE (add menu entry / register components to palette)

However you can NOT use code from the IDE itself. This is GPL.

Also if You want to include other components you need to check if they permit commercial. E.g SynEdit is GPL/MPL

---
Another issue is distribution. You can distribute ppu files. But you need to distribute them for each version (Lazarus + fpc version).

TurboRascal

  • Hero Member
  • *****
  • Posts: 672
  • "Good sysadmin. Bad programmer."™
Re: Commercial components
« Reply #2 on: September 07, 2012, 11:22:21 pm »
I think the GPL license restricts only the distribution of combined works. That means you must not distribute the GPL-e IDE together with closed-source components, but that shouldn't restrict you from creating such components. If you distribute them separately to the end user, then the license does not matter since the users can do whatever they wish with GPL-ed software as long as they don't distribute the result. Therefore they can install any designtime component they wish if it's only for them. The runtime components don't have that problem, since the final product links with M-LGLPL-ed LCL not IDE. Moreover, the final product's legality depends on the compatibility between yours and the users licenses, and it has nothing to do with Lazarus IDE or LCL any more.

While I'm at it, there is another similar aspect of GPL, namely you have the right to create your own version of the GPL-ed program (say, a custom Lazarus IDE) and not release the source as long as you don't distribute it.
Regards, ArNy the Turbo Rascal
-
"The secret is to give them what they need, not what they want." - Scotty, STTNG:Relics

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Commercial components
« Reply #3 on: September 08, 2012, 07:59:09 am »
You can of course, look at some sites like sunisoft and habarisoft, which sells commercial components.

Ask

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 687
Re: Commercial components
« Reply #4 on: September 08, 2012, 08:38:54 am »
I think the GPL license restricts only the distribution of combined works. That means you must not distribute the GPL-e IDE together with closed-source components, but that shouldn't restrict you from creating such components. If you distribute them separately to the end user, then the license does not matter since the users can do whatever they wish with GPL-ed software as long as they don't distribute the result. Therefore they can install any designtime component they wish if it's only for them.

Not quite. GPL is primarily concerned with the distribution of derived, not combined works (there is also a clause for "mere aggregation", but it is not relevant here). The precise definition of derived work is a cause of much debate, but the usual test is: if software A requires software B to function, then A is derived from B and is subject to GPL, but if A can use either B, C or D interchangeably through a public interface, then it is not derived and is not subject to GPL.
It terms of Lazarus, I guess that if there is a component which is using GPL'ed parts of Lazarus, but is ported to both Delphi and Lazarus, then only Lazarus-specific part need to be GPL'ed. However, if the component is Lazarus-specific, and uses GPL'ed parts, then it must be GPL too regardless of distribution method.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11452
  • FPC developer.
Re: Commercial components
« Reply #5 on: September 08, 2012, 07:08:13 pm »
Lazarus license does not allow the development of commercial components?

It does. It just doesn't allow to distribute a Lazarus with the components prelinked.
An user receives commercial components in ppu format, and install it into the IDE.
While he thus creates a combination subject to the GPL, but only_IF_ he redistributes
the project (the linked IDE), which is probably not allowed by the commercial components to begin with. (and is not possible with Delphi either)

Note that the above is based on freedom in the described in the GPL, and does not rely on the goodwill of Lazarus/FPC IP holders.

If an user ignores this, and distributes the IDE with trial components installed, it is btw the user who is in violation (since when he distributes but doesn't provide
full source, the GPL license disallows distribution, so he is in violation), not the commercial components vendor.

Bottom line: The bit to remember is that the GPL license is ruled by actual linking followed by distribution.  Private linking without redistribution IS allowed (since the GPL was designed to allow maximal freedom for inhouse reuse).

This room in the license left open some troubles wrt the so called Tivoization, but that is irrelevant in this case since FPC/Lazarus use GPL 2+, not 3.


loopbreaker

  • New Member
  • *
  • Posts: 32
Re: Commercial components
« Reply #6 on: September 08, 2012, 08:01:32 pm »
I think the general question is: While Lazarus becomes more popular, more users are likely to be interested in purchasing components from third parties, if thats the only way to get the professional support or special functionality. For example, there are many Delphi users which cannot move to Lazarus without Lazarus versions of their components. And is the current Lazarus license ready for such a commercial component market?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11452
  • FPC developer.
Re: Commercial components
« Reply #7 on: September 08, 2012, 10:14:26 pm »
I think the general question is: While Lazarus becomes more popular, more users are likely to be interested in purchasing components from third parties, if thats the only way to get the professional support or special functionality. For example, there are many Delphi users which cannot move to Lazarus without Lazarus versions of their components. And is the current Lazarus license ready for such a commercial component market?

As said in the earlier post, yes, I don't see a problem. If there are problems, the problems will be more due to Lazarus versioning. There are simply more versions in use, and the errors on version mismatch are vague.

There was a discussion about this during the last Lazarus day with a commercial vendor, and the realization is that with the current more long term 1.0 release and branch, we are entering a new situation, and it will be interesting to see what users accept or not. (will they e.g. accept installing a 1.0.0 to test a component when they are already running 1.0.2?)

Which platforms are going to be supported is also an interesting question with versions installed via Linux distros being 3rd party builds that *could* be different

 

TinyPortal © 2005-2018