Home > Delphi, Linux, Object Pascal > Free sparta and CodeTyphoon violates GPL

Free sparta and CodeTyphoon violates GPL

Look around the net for alternatives to Delphi is like looking for water in the desert. To date there are really just 3 real options: Smart Mobile Studio, Freepascal & Lazarus– or Oxygene Pascal from Remobjects.

But FPC and Lazarus are open-source products, meaning that anyone can freely fork and create their own versions within certain limits. There is however one significant rule to this: you must publish whatever changes you have made, or at least provide a working download link so that people have free access to your variation of the root product. That is the deal you signed when you forked the source code and you have an obligation by law to honor that agreement.

Violating individual rights is not a good idea, you will get a response

Violating individual rights is not a good idea, you will get a response

What really pisses me off is that the two forks of Lazarus out there, being sold as commercial solutions, completely ignores the license. Recently I came across a fork of Lazarus called “free sparta” – which is, as it stands now, is a complete insult to the people who have created FPC and Lazarus, dedicating years of hard work to build and maintain both product and community.

First of all the product is commercial (GPL to commercial? Wow! That’s a new twist), meaning that you are basically asked to pay for a product which is bound by international law to be free. Secondly, and this just infuriates me so much, they do not provide any links or SVN/GIT access to the sources. Which they are bound to do by law since the original codebase is GPL.

A second product, called CodeTyphoon takes the whole thing even further; besides being “selective” about the GPL – they demonstrate no scruples re-naming components and units, removing author information and origin of code just to suit their own needs.

Clean up your act

If you are going to compete with commercial products then at least have the balls to follow the rules. Stop stealing code which is illegal, and stop re-branding other people’s work as your own to make a profit (which is not only illegal and a violation of the license but also immoral and intellectually bankrupt).

And what are the rules? You should think they were oh-so complex, but in both these cases they can be summed up as:

  • Ask the original authors about re-branding their units
  • Do not remove author notes and/or comments from the code
  • If they decline your question, show some bloody respect and either exclude it from your product, or use the names provided by the authors.
  • Stop violating the GPL license because that will have consequences
  • Stop trying to make money on other people’s work
  • Provide public read access to either SVN or GIT where people can fork your changes, that is how you got the code in the first place – denying others the same access tells volumes about what type of person you are

Ignoring these simple steps is not just a violation of the GPL license, it’s also a sure way to fuck-up the resolve and determination of the original authors. Why the hell should the FPC and Lazarus community keep working for free while you earn money on their work? Bet your mother must be real proud of you.

But yes, doing what you do is against the law and it is a violation of the GPL license. There is no middle ground here, you either follow the rules or you fucking leave it alone.

As you probably know the GPL license is connected to some of the largest companies in the world – back up by a bloody army of lawyers. As such, anyone violating the GPL can quickly find themselves in a shit-load of trouble, because the GPL is protected by the same organization which protects Linux. This means that if anyone reports your sorry-ass to the GNU foundation – you will be held financially accountable. No matter where you live.

Dont think it wont happen, I’ll happily make the phone-call myself if I have to. And believe you me, the GNU foundation have made examples out of smaller fish that you.

Stealing code and re-branding it is something that makes me furious. Sharing code, learning from each other is one things – but trying to gain financially on what other people have made? Thats just fucking rotten.

If you want to play soccer, then you play by the rules or you don’t play at all. It’s not a debate or open for your personal interpretations of the law. You publish the code ASAP or you will be reported to the GNU foundation.

How to make money on GPL

The open-source model was initially created “TO NOT MAKE MONEY”. So just wrap your mind around that straight away. No middle ground, no “but I could” — no. Forget it. It doesnt work that way. It’s founded on a 100% no-money philosophy.

Open Source pushes the potential of income away from the product, and places the potential in the use of the product and services around the product. In other words you dont have to publish your DOC’s as free, they can be sold separately. Also, you dont need to provide an installer – that can also be sold separately.

But the product itself, no matter if you spend 10 years evolving the code — if it’s GPL it’s free. And if you persist in forking FPC and Lazarus you must provide a working, open for all, SVN, GIT or otherwise functioning download URL.

End of debate.

I rarely get involved in stuff like this, but this time — failure to follow this and respect the original authors, will result in a formal report to the GNU foundation.

Boycott these products

Support FPC, say no to thieves!

Support FPC, say no to thieves!

I urge everyone to boycot these illegal products. Several individuals have already sent protest emails to pilotLogic, the company behind CodeTyphoon, as well as the “free sparta” cash-in project; They refuse to respond (as expected).

It is an insult to the programmers behind FPC and Lazarus and to show your support of FPC and Lazarus, I hope you agree and stay away or stop using these products.

You may also want to send an email requesting SVN/GIT access to both — reminding them that they are obliged by international law to provide this, regardless of their own personal “interpretation” of the law.

  1. leledumbo2503
    January 3, 2015 at 5:48 pm

    Some clarifications: you are allowed to sell GPL products, the only thing you must provide is (link to) source code. Precompiled binaries and documentations (unless it’s part of the source code), even a how-to-build, is not a must. You seem to misunderstand free in GPL as free beer, instead of free speech (which is the actual intention).

    FreeSparta author said it doesn’t modify the source code, so you can just get the original one. What it sells is a pre-packaged IDE with commercial packages that improves IDE and RTL functionality, again, no change to original source. No need to boycott FreeSparta, however, since the project is already dead (http://forum.lazarus.freepascal.org/index.php/topic,26878.msg165670.html#msg165670).

    CodeTyphon, on the other hand, is the true evil that violates GPL at a very unacceptable level (file renaming, authorship removal, even license change to freeware). The author understands, but don’t care, so is its users. They keep spreading CodeTyphon wherever possible. If only I’m the administrator in Lazarus forum, I will ban every post/reply saying CodeTyphon.

  2. wprins
    January 3, 2015 at 6:59 pm

    One nit pick: Free software is about freedom, not price. See for example: https://www.gnu.org/philosophy/selling.html

    To be clear: I’m making no comment about the rest of your post,e.g. whether or not FreeSparta or CodeTyphoon violates the licenses under which they’ve been made available as I’ve not looked into this at all. If they violate the terms of the GPL then I’m entirely with you in respect of their violations.

  3. aplikmuj
    January 3, 2015 at 7:02 pm

    You cannot steal code, you can just copy. Because otherwise you would have deleted the code from the server;). We all know what you mean.

    The original idea is to download the code and adjust it according to your needs. Emulation of shaping the boundaries of the software/application via a special purpose architecture which is usually a result from decisions driven by the diminishing marginal utility (somehow that way) in sense of money.

    Since we need a good level to compare the availability of a feature (quantity) as well as it’s completeness (quality) do matter.

    How does a common work. Since it’s a concept that had it’s high time in the mid-age in Europe – everything the nature does give is free to everyone in general. These days money was not used the way we use it today. You took the apples from the tree and made an apple-pie and gave a certain portion back to the community. The moment people started to sell what others produced the problem started. Resource shortage.

    Assume that everyone in the surrounding knew how to bake an apple pie. It’s you and your apple pie you share and not selling the apples from the tree. After the mid-ages property a concept from the Roman Law has been spread in Europe and finally into all societies influenced by the Europeans in a more or less friendly fashion. So GPL is about property. Property is a concept that enables a market economy. Without property there is no proper use of money in a sense of resource restriction to a common.

    In that sense those guys steal the fruit from the neighbor’s tree. Classical view from an economies perspective. Since money created by our finance system is subject to serving the purpose of a market economy property has to be considered.

    In case no money is involved … Access to commons in a market economy does work via restricting access or management.

    What is the problem in general. Doing away with restrictions in a sense of shortage does mean giving access to those who should be excluded anyway.The access restriction in general is intended to be the developer’s skills and knowing the matter/problem that piece of software should be applied to. Otherwise downloading does not make sense.

    Avoiding to create a resource shortage via the wonder of copying and ignoring those who download, but not being in the position to make use of a piece of software (as not downloaded) will not make the problem of unlimited access to a common go away, Forcing unlimited access in terms of packaging is no good idea. Giving the wayfairing man a box of apples. Even if that man does pay the resource shortage will occur in another place. Fewer people will take care of that piece of software. Only in case the manager of the common does decide that too many people are engaged setting up a business in between restricting the access via money will make sense.

    That’s why the open source product built on top of the shared code base is offered for free and people pay for the service. That business model is very similar to cutting the branches at the bottom and taking away children’s pocket money for get access to the fruits on the tree in their garden. You pick their fruits …

    If you take money for picking the fruits from the tree in the neighborhood you still steal even if the neighbor cut the branches in order to get rid of children in the garden who usually tend to pick low hanging fruits. This is not Robin Hood style:) that’s sale of indulgences in best case.

    Open source software is payed with open source software. That’s the system. The common is bigger than the field.

    Many people in former communist countries never experienced money in a sense of resource restriction since the shortage was created by the centrally planned economy anyway.

    That’s why less users of a commercial product are a different quality compared to those who cultivate/manage a common. The access restriction is a different one. Money can by almost everything … Money is not gold dust created via work. It’s a mechanism to restrict access to resources.

    What are those guys doing. The run into the problem of the neo liberal ideology. Ignoring the existence of demand and believing that the cheap offering will make more users buy in a sense the cheaper the offering the more customers can be attracted. And applying this model to the labor market leads us to infinite code lines at 0 cost. Forgive them for they know not what they do! The spirit of the times is misleading.

  4. January 3, 2015 at 7:06 pm
  5. Lars Fosdal
    January 3, 2015 at 7:11 pm

    IMO, FOSS never was about free of charge – but about free from ownership. Not providing source code may be a breach of GPL though.

  6. abouchez
    January 3, 2015 at 9:57 pm

    For a easy way to get and compile FreePascal + Lazarus from the sources, check out fpcup instead of CodeTyphon.
    See http://wiki.freepascal.org/fpcup
    It even allows you to use the up-to-date SVN version of FPC, even sooner than CodeTyphoon!

  7. May 1, 2015 at 12:57 pm

    The Free Sparta guy donated large swaths of code to the Lazarus community. Codetyphon is horribly intransparant, but I think people that accuse CT of copyright violations should at the very least quote (or link to) an itemized list of facts. Being in transparent is not a GPL violation. There is a big difference between illegal and not complying with the spirit of a project or license.

    • Jon Lennart Aasenden
      May 1, 2015 at 2:22 pm

      Yes, he did do that *after* my article. And for that he should be respected. However there was a time before that when quite a few aspects of his work was kept in the dark.
      But he has cleaned things up and that’s great. CodeTyphoon on the other hand, continues like nothing has happened..

      • May 1, 2015 at 10:25 pm

        “CodeTyphoon on the other hand, continues like nothing has happened…”

        What do you mean with that ?
        If CodeTyphon (with 1 o in Typhon) violates GPL for one of his packages or for CodeTyphon-self, please show us what is wrong.

        And all of us will boycott it.

        If you do not find anything, please present your apologizes and change the title of your article.

        Thanks.

        • Jon Lennart Aasenden
          May 2, 2015 at 2:21 am

          This has been debated before on delphidev and the violations were dealt with there.

          • May 2, 2015 at 10:38 am

            Hello.
            If you take the responsibility to accuse people for a fact so serious, you should give some proof. (not refer to some unknown delphidev topic)
            Otherwise you act like a troll, with the unique goal to destroy the fpc community.
            Once again, please give us concrete fact.

            • Jon Lennart Aasenden
              May 2, 2015 at 11:48 am

              Seems like you are the accuser here. You comment on an older post, one which has already been dealt with a while back. You dont take the time to visit delphidev and search out the facts — instead you expect me to backtrack through months of posts in order to satisfy your moral dilemma.
              As for the FPC community, it’s more than capable of destroying itself. Especially with the attitude you demonstrate right now.
              I am actually an avid FPC user and at the moment im coding a new IDE from scratch for FPC – one that doesnt use a single line from any existing system.
              The problem with codetyphoon is that it treats open-source like it means “we can do what we want with it”. They take units, strip author name and information, re-name classes without proper documentation in the code — and as such renders the respect for other people’s hard work null and void.
              You are barking up the wrong tree mate.
              You need evidence? You backtrack on delphidev youself.

              • May 2, 2015 at 1:25 pm

                Hmmm, what is delphidev ? I just google it and find only http://www.delphidev.de.
                I do not speak German.
                What German keyword must i use to see “your evidence” ?

                • Jon Lennart Aasenden
                  May 2, 2015 at 9:16 pm

                  Delphi developer is the biggest Delphi/FPC group on Facebook.
                  But you dont need to go anywhere special to find “evidence”.
                  The whole point here is that people have been pissed on CT for a long, long time.

                  A quick google on the subject and we find a page on FPC/Lazarus’s forum. Which incidentally also thrash my article. But pay attention to the comments by others:

                  Evidence #1, one author finds his timer library suddenly a part of the CT codebase:
                  “I was somewhat surprised to see my component in CT V5.2 distribution renamed as plLongIdleTimer and with the GPL text and my attribution removed from the code. This happened without my knowledge nor consent as the sole author of the code.”

                  Evidence #2: Author of BGRA-Controls is surprised to find his controls in the CT codebase, with everything changed:
                  “I was surprised too when I saw pl-bgracontrols with everything changed”

                  This was just from a single google and a quick visit to the Lazarus forum. I havent trailed the forum, but this is just two out of hundreds around the internet. People have given up contacting pilotlogic because they dont even reply.

                  In my case, i got my name slandered on their forum, my personal information, phone number and employer listed. Thats just out of line. I can do that to them as well, but you dont do shit like that -it just goes to show the level of respect they have for other people.

                  Source [1]: http://forum.lazarus.freepascal.org/index.php/topic,28225.msg176491.html?PHPSESSID=aea5e27db08318e63db58ad13b68cbbc#msg176491

                  Source [2]: http://forum.lazarus.freepascal.org/index.php/topic,28244.0.html

                • Jon Lennart Aasenden
                  May 4, 2015 at 9:00 am

                  Anything more you want to know, or are you happy with the evidence now?

  8. May 26, 2015 at 2:23 pm

    These comments apply to both FreeSparta and CodeTyphon:

    It is perfectly understandable that non lower individials barelly understand the copyright law and license agreements. so is here and now. few legal observations:

    1. lazarus and fcl and governed by lpgl and not by gnu. but there is more to it, especially lazarus is even more liberal that lgpl, allowing you to deploy for both commercial and non commercial purposes even when statically linking, regarless on publishing back your changes. details at: http://wiki.lazarus.freepascal.org/licensing

    2. Code Typhon is actually building after pulling both lazarus source code and fcl (free pascal compiler). pulling is legaly speaking a way of publishing, which, again, is not required in this particular case, based of paragraph 1 of present

    3. You on the other hand are currently vilating your agreement with wordpress, present post containing “f” words and copyrighted material (the pic) from non copyable movies instigating on violence. No legal action will be extended against your wordpress acount, but just wanted you to know and would be very useful to read your bloging agreement with wordpress before posts like these, hosted by them.

    Regards, undersigned

    • Jon Lennart Aasenden
      June 1, 2015 at 9:29 am

      You seem to miss the point completely.
      The core point is this:
      Let’s say you write a piece of great code. You put it out there using a license, in this (or these) cases – which prohibit alteration of headers and origin. In essence you white-wash the whole code, rename classes and makes it fit into “your” idea of whatever product you have.
      In some cases this is legal, but some licenses it is not.
      Secondly there is ordinary human respect for intellectual property. There is a huge difference between ownership (apartment act) and copy-right. The right to produce and distribute is not the same as origin of code.

      So instead of nitpicking on a post, why dont you instead listen to the many who have found their own code in CT – without so much as a “thank you” in the about box. The headers have been removed, the names removed — and no matter how many emails they send to the CT guys — only silence in return. When they go on the forum and ask, they are kicked and banned.

      Do you honestly think this is the motivation and intent behind the laws you refer to?
      I sincerly hope it’s not, because then you have completely missed perhaps the biggest motivation behind the open source movement: namely the spirit of co-operation, mutual respect and giving back changes and bugfixes. The law is there to ensure that people who do not “get” the initial wisdom of a ruling – are enforced to recognize it.
      Not the other way around.

  9. May 26, 2015 at 2:39 pm

    both lazarus, lcl and fpc are governed by LPGL even allowing you to sell statically linked executable. so your post is 100% irrelevant from legal point of view. about using f words, instigating to boycot and violence and posting copyrighted material (the pic), good luck with that

    • Jon Lennart Aasenden
      June 1, 2015 at 9:22 am

      Lazarus, LCL and FPC is not the issue here. The issue is, according to these licenses, that you should give back to the community.
      Secondly, licenses are not like rule of thumb. A law or a rule is to define an intent of the author(s). So when people share code, do you think they intended to have their names stripped out of their work, their classes renamed and everything they did ending up in oblivion?
      Or is it to much to ask that people respect headers? Because if you bother to read the licenses, you will find that many of the libraries taken by CT does not allow the removal of original authors, nor renaming classes.

      And if it’s hard to write a proxy class, or show ordinary human respect— then I pity the lot of them.

    • July 29, 2018 at 9:39 am

      Old post , but I cant let this stand. The LGPL is very specific what it allows.
      1) If the LGPL library is dynamically linked, only the library needs to remain free source. If you modify the library, you must provide source. If you don’t , you still need to provide a way to get access to that libraries source (This parts tricky, but in general a link to the Github is fine).
      2) If the LGPL library is STATICALLY linked, then the entire resulting codebase is under the LGPL library and you MUST provide source for both the library and the code you’ve linked it to.
      3) Some libraries insert an excemption to 2 , that while in some respects defeats part of the purpose of the LGPL, the author feels its necessary to allow deploying to platforms where Dynamic linking is problematic, such as with iPhones and the like. HOWEVER if you statically link to the library you STILL must provide source to any modification you make to the library.

      So while yes you can provide a static linked EXE, if the LGPL code has an exxemption, you must provide the source to any LGPL code you used including modifications to it, and if there is no excemption you must provide the code for the whole project.

      These licensing terms, by the way, are battle tested in the courts. Defy at your own peril.

  1. January 4, 2015 at 6:02 pm

Leave a comment