Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Borland C++ Can No Longer Be Used To Make Free Software? 224

Craig Miskell asks: "Bought a magazine today (PC Authority - Australian magazine). It contained Borland C++ Builder 3, and the licence contained the following, which I read to mean that you can't release the source code to your programs that you create using C++Builder: 'GENERAL TERMS THAT APPLY TO COMPILED PROGRAMS AND REDISTRIBUTABLES You may write and compile (including byte-code compile) your own application programs using the Software, including any libraries and source code included for such purpose with the Software. You may reproduce and distribute, in executable form only, programs which you create using the Software without additional license or fees, subject to all of the conditions in this statement.' What dya think about that? Seems odd to me." Me, too. Borland better bandage that foot before it stains the carpet... Updated Sorry. There seems to nothing to worry about. Read on for a statement direct from Inprise.

Updated 05/17 7:33am by C: Michael Swindell from Inprise sent us the following clarification on the licensing issues involved:

"The Ask Slashdot article posted today asserted that the C++Builder 3 license somehow restricted distribution of source code. We do not have, and never have had, any license that would do such a thing. The reader mistook the application of the restriction on redistributables (such as the Borland RTL and VCL libraries which are distributed with source code) as a restriction on redistributing source written by a developer. We would never make such an unusable restriction. We are all developers over here. We would laugh anything like that out of the campus in a heartbeat. There is a passage further down in the license that explicitly explains that there is no restriction from distributing your own source code or even C++Builder IDE generated source code without restrictions:

  • You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with a Borland source code generator, such as an Application Wizard, is considered by Borland to be your code.
  • I've attached a copy of the entire License agreement that came with C++Builder 3. We would really appreciate it if you were able to update the main article so that slashdot readers, customers, and developers don't get the wrong idea about our license. We have already been flooded with questions and complaints about this today and have spent a lot of time explaining the reader's mistake on the phone, in email, and in our newsgroups. (C: the attachment was corrupted in the email message but it should be up sometime today)

Thanks for clearing up all of the confusion, Michael. Here's a copy of the licence, reprinted by permission, for your perusal.

BORLAND C++ BUILDER

BORLAND NO-NONSENSE LICENSE STATEMENT AND LIMITED WARRANTY

IMPORTANT - READ CAREFULLY

This license statement and limited warranty constitutes a legal agreement ("License Agreement") between you (either as an individual or a single entity) and Borland International, Inc. ("Borland") for the software product ("Software") identified above, including any software, media, and accompanying on-line or printed documentation.

BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY ALL OF THE TERMS AND CONDITIONS OF THE LICENSE AGREEMENT. If you are the original purchaser of the Software and you do not agree with the terms and conditions of the License Agreement, promptly return the unused Software to the place from which you obtained it for a full refund.

Upon your acceptance of the terms and conditions of the License Agreement, Borland grants you the right to use the Software in the manner provided below.

This Software is owned by Borland or its suppliers and is protected by copyright law and international copyright treaty. Therefore, you must treat this Software like any other copyrighted material (e.g., a book), except that you may either make one copy of the Software solely for backup or archival purposes or transfer the Software to a single hard disk provided you keep the original solely for backup or archival purposes.

You may transfer the Software and documentation on a permanent basis provided you retain no copies and the recipient agrees to the terms of the License Agreement. Except as provided in the License Agreement, you may not transfer, rent, lease, lend, copy, modify, translate, sublicense, time-share or electronically transmit or receive the Software, media or documentation. You acknowledge that the Software in source code form remains a confidential trade secret of Borland and/or its suppliers and therefore you agree not to modify the Software or attempt to reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

If you have purchased an upgrade version of the Software, it constitutes a single product with the Borland software that you upgraded. You may use or transfer the upgrade version of the Software only in accordance with the License Agreement.

This Software is subject to U.S. Commerce Department export restrictions, and is intended for use in the country into which Borland sold it (or in the EEC, if sold into the EEC).

ADDITIONAL LICENSE TERMS FOR BORLAND C++ BUILDER

Borland grants to you as an individual, a personal, nonexclusive license to install and use the Software for the sole purposes of designing, developing, testing, and deploying application programs which you create. You may install a copy of the Software on a computer and freely move the Software from one computer to another, provided that you are the only individual using the Software. If you are an entity, Borland grants you the right to designate one individual within your organization ("Named User") to have the right to use the Software in the manner provided above.

GENERAL TERMS THAT APPLY TO COMPILED PROGRAMS AND REDISTRIBUTABLES

You may write and compile (including byte-code compile) your own application programs using the Software, including any libraries and source code included for such purpose with the Software. You may reproduce and distribute, in executable form only, programs which you create using the Software without additional license or fees, subject to all of the conditions in this statement.

Borland products may include certain files ("Redistributables") intended for distribution by you to the users of programs you create. Redistributables include, for example, those files identified in the accompanying printed or on-line documentation as redistributable files, those files preselected for deployment by an install utility provided with the Software (if any), or those files pre-selected by a third party install utility which operates under control of an install script which Borland has certified (if any) for use by licensed users of this Software for deploying applications. In any event, the Redistributables for the Software are only those files specifically designated as such by Borland. From time to time, Borland may designate other files as Redistributables. You should refer to the documentation, including any "readme" or "deploy" files included with the Software, for additional information.

Subject to all of the conditions in this statement, you may reproduce and distribute exact copies of the Redistributables, provided that such copies are made from the original copy of the Software or the copy transferred to the single hard disk. Copies of Redistributables may only be distributed with and for the sole purpose of executing application programs permitted under this statement that you have created using the Software. Under no circumstances may any copies of Redistributables be distributed separately. Regardless of any modifications which you make and regardless of how you might compile, link, and/or package your programs, under no circumstances may the libraries (including runtime libraries), code, Redistributables, and/or other files of the Software (including any portions thereof) be used for developing programs by anyone other than you. Only you as the licensed user (or the Named User for your entity) have the right to use the libraries (including runtime libraries), code, Redistributables, or other files of the Software (or any portions thereof) for developing programs created with the Software. In particular, you may not share copies of the Redistributables with other co-developers. You may not reproduce or distribute any Borland documentation without Borland's permission.

The license granted in this statement for you to create your own compiled programs and distribute your programs and the Redistributables (if any) is subject to all of the following conditions: (i) all copies of the programs you create must bear a valid copyright notice, either your own or the Borland copyright notice that appears on the Software; (ii) you may not remove or alter any Borland copyright, trademark or other proprietary rights notice contained in any portion of Borland libraries, source code, Redistributables or other files that bear such a notice; (iii) Borland provides no warranty at all to any person, other than the Limited Warranty provided to the original purchaser of the Software, and you will remain solely responsible to anyone receiving your programs for support, service, upgrades, or technical or other assistance, and such recipients will have no right to contact Borland for such services or assistance; (iv) you will indemnify and hold Borland, its related companies and its suppliers, harmless from and against any claims or liabilities arising out of the use, reproduction or distribution of your programs; (v) your programs must be written using a licensed, registered copy of the Software; (vi) your programs must add primary and substantial functionality, and may not be merely a set or subset of any of the libraries (including runtime libraries), code, Redistributables or other files of the Software; (vii) regardless of any modifications which you make and regardless of how you might compile, link, or package your programs, the libraries (including runtime libraries), code, Redistributables, and/or other files of the Software (including any portions thereof) may not be used in programs created by your end users (i.e., users of your programs) and may not be further redistributed by your end users; and (viii) you may not use Borland's or any of its suppliers' names, logos, or trademarks to market your programs, except to state that your program was written using the Software.

The Software might include source code, redistributable files, and/or other files provided by a third party vendor (Third Party Software). Since use of Third Party Software might be subject to license restrictions imposed by the third party vendor, you should refer to the on-line documentation (if any) provided with Third Party Software for any license restrictions imposed by the third party vendor. In any event, any license restrictions imposed by a third party vendor are in addition to, not in lieu of, the terms and conditions of the License Agreement.

All Borland libraries, source code, Redistributables and other files remain Borland's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Borland source code and other non-executable files) except those that Borland has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Borland has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with a Borland source code generator, such as an Application Wizard, is considered by Borland to be your code.

Contact Borland for the applicable royalties due and other licensing terms for all other uses and/or distribution of the Redistributables.

ADDITIONAL LICENSE TERMS FOR BORLAND DATABASE ENGINE

For redistributing programs which include Redistributables of the Software identified as BORLAND DATABASE ENGINE ("BDE Redistributables"), your programs may not be a general purpose database program or otherwise generally competitive with or a substitute for Borland's Paradox, dBASE, or the Borland Database Engine. Further, your programs must require your users to run an unmodified copy of the installation program created by the install utility provided with the Software (if any), or created by a third party install utility which operates under control of an install script which Borland has certified for deploying applications using the BDE Redistributables. You may not redistribute a subset of the BDE Redistributables or circumvent any integrity and/or versioning checks required for correctly installing the BDE Redistributables.

ADDITIONAL LICENSE TERMS FOR DEPLOYING MULTI-TIER PROGRAMS

This version of the software may include redistributable files identified as "Client Dataset Redistributables" for creating multi-tier application programs for use in a Client/Server computer network. "Client/Server computer network" refers to end-user microcomputers ("Client Computers") connected to another computer ("Server Computer") dedicated to managing communications, storing or accessing common data in a database, and providing services requested by the Client Computer(s). Deployment of Client Dataset Redistributables at a Server Computer requires a Client Dataset Server Deployment License from Borland; please refer to the on-line documentation, including DEPLOY.TXT, for contact information. Note that the Client Dataset Server Deployment License is not required for deploying an application in which the Client Computer and the Server Computer are the same physical machine.

LIMITED WARRANTY

Except with respect to the Redistributables, which are provided "as is," without warranty of any kind, Borland warrants that the Software, as updated and when properly used, will perform substantially in accordance with the accompanying documentation, and the Software media will be free from defects in materials and workmanship, for a period of ninety (90) days from the date of receipt. Any implied warranties on the Software are limited to ninety (90) days. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.

Borland's and its suppliers' entire liability and your exclusive remedy shall be, at Borland's option, either (a) return of the price paid, or (b) repair or replacement of the Software that does not meet Borland's Limited Warranty and which is returned to Borland with a copy of your receipt. DO NOT RETURN ANY PRODUCT UNTIL YOU HAVE CALLED THE BORLAND CUSTOMER SERVICE DEPARTMENT AND OBTAINED A RETURN AUTHORIZATION NUMBER. This Limited Warranty is void if failure of the Software has resulted from accident, abuse, or misapplication. Any replacement Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. Outside the United States, neither these remedies nor any product support services offered by Borland are available without proof of purchase from an authorized non-U.S. source.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BORLAND AND ITS SUPPLIERS DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU MAY HAVE OTHERS, WHICH VARY FROM STATE/JURISDICTION TO STATE/JURISDICTION.

LIMITATION OF LIABILITY

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL BORLAND OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT OR THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF BORLAND HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN ANY CASE, BORLAND'S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS LICENSE AGREEMENT SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE PRODUCT OR U.S. $25; PROVIDED, HOWEVER, IF YOU HAVE ENTERED INTO A BORLAND SUPPORT SERVICES AGREEMENT, BORLAND'S ENTIRE LIABILITY REGARDING SUPPORT SERVICES SHALL BE GOVERNED BY THE TERMS OF THAT AGREEMENT. BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

HIGH RISK ACTIVITIES

The Software is not fault-tolerant and is not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or severe physical or environmental damage ("High Risk Activities"). Borland and its suppliers specifically disclaim any express or implied warranty of fitness for High Risk Activities.

U.S. GOVERNMENT RESTRICTED RIGHTS

The Software and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraphs (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Borland International, Inc., 100 Borland Way, Scotts Valley, CA 95066.

GENERAL PROVISIONS

This statement may only be modified in writing signed by you and an authorized officer of Borland. If any provision of this statement is found void or unenforceable, the remainder will remain valid and enforceable according to its terms. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in the Limited Warranty shall remain in effect.

This statement shall be construed, interpreted and governed by the laws of the State of California, U.S.A. This statement gives you specific legal rights; you may have others which vary from state to state and from country to country. Borland reserves all rights not specifically granted in this statement.

This discussion has been archived. No new comments can be posted.

Borland C++ Can No Longer be Used to Make Free Software?

Comments Filter:
  • by Anonymous Coward
    "You may reproduce and distribute, in executable form only, programs which you create using the Software" may... not must.
  • Posted by Cliff on Wednesday May 17, @12:30PM
    from the now-this-can't-be-good dept.

    Dunderhead writes "I just bought a box of Nabisco Wheat Snazzies and I'm not sure about some of the ingredients. Phosphoric Acid and Niacinamide? Are those some kind of rat poisons? I don't think I should eat Wheat Snazzies if they contain rat poison! Do you?"

    Wow I agree that's really bad. Nabisco had better remove the rat poison from their products before a lot of people die...
  • by Anonymous Coward
    Another stupid article got past the Slashdot editors again? This problem is fairly simple... the license for the magazine version of Borland C++ is naturally going to be restricted since you are getting it for free and Borland wants you to buy the full version. I'm surprized that this is the first time people are aware that the stuff included in magazine cdroms are usually demo or crippled in some way!
  • But it only creates the function wrappers, it's still up to you to go into the editor and write the code of what happens when button X is pushed.

    And it does a damn fine job of it. Seriously, it's worlds away from older Borland C++ tools. A project that took 6 months to plan and another 4 to code (and still came out wrong) on Borland C++ 5.1 was redesigned and implemented (and had EXTENSIVE functionality added) in less than 2 weeks using Builder.

    I will do Win32 code in nothing else.

    ObTopic: I just installed Builder 5 yesterday, and caught a similar piece of the lisence(sp?) out of the corner of my eye. At first, I thought "Oh, great..." but two things hit me. 1) My project is not open source. 2) The paragraphs that follow clarify that they don't want you to write a simple wrapper for their redistributables and sell it. Reasonable enough; their class library and other components are absolutly TOP NOTCH and are worth protecting with whatever legalese it takes.


    --Threed

    The Slashdot Sig Virus was foiled before it could spread.
  • Well I guess it's self evident, but I'll say it anyway:

    Good point.
  • Your analogy is wrong. The correct analogy is:

    "You may have an apple, in peeled form only".

    Does this mean you are allowed to only have a peeled apple, or that you are allowed to have a peeled apple, in addition to other kinds of apples that are not mentioned in the agreement?

    I think it is simply ambiguous wording and that no one should get upset until the wording has been clarified.

    However, here is a pet theory: If Borland really is trying to limit the distribution of source, then it is probably because they feel that if you have the source and the binary of a program that was compiled with their compiler, then you can figure out some of the optimization algorithms that they might use. So they might want to try to prevent that by disallowing the distribution of the original source with binaries that their compiler has produced.

    If this is the case, then it is completely lame.

    But, it's all speculation on my part since I have no idea what they actually meant when they used the word "may" in their license ...
  • 'GENERAL TERMS THAT APPLY TO COMPILED PROGRAMS AND REDISTRIBUTABLES'

    Compiled programs and redistributables. Not the source code to which you own the copyright and can do with what you wish.
  • It is verry clear:
    You may produce and distribute, in executable form only, programs which you created ...

    what does "You may have an apple." mean?

  • > the end of free software as we know it. Too bad, RMS. You sucked
    >anyway.

    What do you mean fool? If anything it only applies to users of Borland C++. People who use GCC aren't affected by this at all. If this does anything, it'll ensure that Borland C++ and other commerical compilers will never get much of a toehold in the linux userbase.
  • "You do not write C++ code with this."

    Actually, you do write code with C++ Builder. C++ Builder is to C++ as Delphi is to ObjectPascal -- it's a slick GUI with drop-n-drag form building that let's you define interactions between controls. But it only creates the function wrappers, it's still up to you to go into the editor and write the code of what happens when button X is pushed.


    --
    Making iDirt 1.82 a safer place, one bug at a time.
  • but it says nothing about the source YOU generate.

    Says nothing? How's that? By "generate", I assume that you mean the source code that you've produced out of your own creativity. But my reading of this is that "programs" comprises both source code and compiled binary, and their license only allows you to redistribute the binary portion of the program. Notice the following:

    You may reproduce and distribute, in executable form only, programs which you create using the Software

    This shows that they consider a program to have more than one form, and they've limited redistribution rights to the binary portion of the program.
  • is that companies should write license agreements (and other legal documents) that make sense. Right? Ambiguity complicates matters unnecessarily and should be avoided. Surely it could have been avoided in this case if Borland had chosen its words more carefully...
  • Being a long time user of borland's products (lately Delphi) I know that the normal terms of the license apply only to borland libraries.

    Just for an example if I were to write a delphi app I can distribut all my sorce code and an exe, but not the sorce code to libraries that come with delphi.

    Borland has one of the easiest to understand (that I know of) commercial licenses. I can install it on as many machines as I want as long as only one copy of it is running at a time. Which means I can use it at work and home and both copies are leagal as long as no one uses it at the office while I'm using it at home.

    So unless something drastic has changed at borland, I am betting that restriction only applies to the borland included code. So if you write an app in C++ Builder you can distribute your code but someone would need a copy of C++ Builder to compile it properly to have all the libraries.

    This is just my experience with borland and thier products, I could very well be wrong
  • So, does the C++ builder tool only make it's "own" version of C++ code?

    Actually, for the winblows version it has its own extenstions that add functionallity not in standard C++. All of them are prefixed with 2 underscore characters. All of these extensions are built into C++ builder libraries, which all but the Standard versions, have the sorce code. The license is probably restricting the release of the sorce of thier libraries only.
  • This sounds like a case of magazine freebie software licensitus to me. Basically, because they're "giving away" the software, they don't want people writing and distributing *any* application without first buying a real copy.

    A real license will allow you to distribute whatever to whoever you like, pretty much, without breaching the license agreement.

    I won't get into any ethical issues between commercial compilers vs GCC, etc. (the question is more about free-as-in-beer licensing than commercial vs gnu/open source)
  • I have always felt a FORMAL, non-English language should be developed for law.

    On the surface it's an interesting idea but a lot of problems arise out of that. First and foremost is that you have to come to grips with the fact that very few people are going to learn a completely new and arbitrary artificial language just to read legal code. This would radically grow the already large gap between the laypersons' understanding of the law and those in legal professions.

    So then of course, you would inevitably have to provide natural language translations that would try to capture the intent of the original law but would neccesarily be a bit vague (if not, then why not just write the law in the original language.) This possibly leaves the law open to interpretation or legal defenses based around the fact that nobody but highly trained experts could understand what was legal or not.

    In short, the only way to achieve this goal of total precision (of language or otherwise) in the law would be to have a completely pervasive totalitarian regime. And if you've gone that far, what's the point of doing it just for sake of legal precision? The power apparatus doesn't need written laws to perpetuate itself.

    cheers, moi

  • Sorry, your interpretation is false, it states very clearly:
    You may produce and distribute, in executable form only, programs which you created ...

    Sorry.
    Dave

    Well, it's actually unclear. It could be parsed to mean "You may distribute in executable form (without source)", meanwhile not taking a position on whether or not you're distributing the source as well. mike
  • What is your problem?


    The shareware version of Quake was a gift, and if no one bought the retial version, development would have stopped.


    The way I read their license is that Borland is giving you license to redistribute their compiled-in libraries without any additional license fee or arrangement.


    They can not exert any control over the source code you "feed" to their compiler, no more so than Microsoft can control your use of the text you enter into their MS-Word application.


    This whole issue was built out of a quick-read of a license agreement and a "cup is half-empty" mindset... There is nothing in the snippet I read that causes me any concern...

  • I suspect that Borland has some source code (like some .h files) that *are* source code used to compile your code, and they are exerting control over the use of those *source* libraries. Once you compile your code, there is a compiled version incorporated in your application, and that is the software they are releasing.


    non-issue, IMHO...

  • Read post #93 [slashdot.org]
  • One does not have to release one's binaries either you know. One does not have to release anything. Borland's license grants you the right to release binaries, it does not say anywhere that you have to.
  • it was all just a big misunderstanding, nothing to see here, move along now, move along to the next article; we apologize for the inconvenience and will be more clear about it next time, move along now.

    At least it doesn't state that you MUST release source code with binary distributions, ;)
  • There's nothing really new here.

    The usual intent of this clause is to make sure you don't bundle propritary libraries with your own source code.

    In practice, you can send out your source code. After all, in any open source program you're going to be using open source libraries anyway, right?

    Steven, Editor at Large, Sm@rt Partner
  • It could also be read to say that you can't release the generated assembly language, or libraries.

    IMHO, it's a worrisome clause and should be repaired.

  • Yeah. But my Pop can beat up your Mom any day of the week. ;)

    just kidding.

    In all seriousness, how can "only in executable form" be interpreted to mean oh yeah, and source too?

  • Spoke with my Pop. He is a lawyer. It clearly states you cannot distribute your code in anything but executable form.

    He thinks it is unenforceable, but admits it's not his field, and, ultimately, you need enough money to stand-off with them through preliminary motions at a minimum should they choose to sue.

    There it is.

  • Didn't the original message say that this was Borland C++ Builder 3.0? The latest version is C++ Builder 5.0 -- has anyone checked the license on it??

    I think their intention was to cover the auto-generated code, not all of the code. However, that's not how the quoted part of the license reads...

    -Zak

  • > Read that again. That just guarantees you the
    > right to distribute programs that you use THEIR
    > compiling tools to create. It isn't saying you
    > can ONLY distribute things in binary executable
    > format, but that you are allowed to.

    Um, it DOES say ONLY. Read it again:

    "You may reproduce and distribute, in executable form only, programs which you create using the Software"

    -Zak
  • This single issue is to me a small minnor issue comparied to others.

    Notting that most people here on Slashdot do not develup under Windows and most Windows have allready got the develupment tools they need.

    I however thought to take advantage of the situation and download this and start doing some cross platform codework.
    Inprise is asking quite a bit of software develupers and to make things worse when I tried to download the software the link to stage one (join some software dev community thingy) didn't work.
    To make matters worse there was a refrence to needing turbo asmbler. If I rember correctly Turbo C only compiles asm source code it then passes that on to tasm.exe a smallish version of turbo asmbler and I suspect B C++ dose the same.
    But Tasm.exe isn't included with this "free" pacage forcing you to buy turbo asmbler. Might as well have bought the compiler to start with.

    In my view there isn't very much free about this "builder".
    GCC dosn't require you jump through hoops dosn't have a messed up liccens (ok the GPL is a little messed but not as bad as this) and dosn't require you buy something else to make it work.

    I don't like the idea of develuping code under GCC for Windows. GCC isn't ideal for Windows develupment (mostly thanks to the way Windows works) the compiller almost needs to be interconnected with the operating system.
    Thanks to Microsoft and Inprise Borland C++ has this advantage.
    This means that if I want to do sereous open source develupment I really need Borland C++ or Microsoft C++... But I need a compleate compiler pacage.. not an half baked builder pacage....

    I'm going to try and download and install it anyway. If I can find a sutable replacement for tasm then I'll be in busness....
    Otherwise... I'll make use of Microsofts handy uninstall feature...
    Or Linux handy fdisk.....
  • Does C++ Builder generate code for you? If it does I bet Borland figures that the generated source belongs to them. Of coure, if it's like most generated code I've seen, people are better off without it (thinking of MFC).
  • This is the real issue. Who owns the copyright of autogenerated code? What if the autogenerated code includes lots of junk not in the original source file?

    I personally think they should separate out the commercial library code (or whatever they want to protect) from the generated code specifically dealing with the original source file. What they are doing now is akin to telling people that it is illegal to distribute assembly code generated from a C file. That is ridiculous. If the assembly code contains lots of commercial boilerplate they don't want released, (think stuff from _start), they should make it a shared library. Or have an option that outputs just the parts directly coming from the original source file.

    -Nathan Whitehead

  • "Bought a magazine today (PC Authority - Australian magazine). It contained Borland C++ Builder 3, and the licence contained the following"

    He bought a magazine that probably had a demo / limited version in it. The license in no way removes him any rights, but is most likely different from the license you'd get purchasing a shrink wrapped version of the product.

    Meanwhile, if I was Borland, I would probably not want some script kiddie to just build something out of my libraries, without bringing in any new elements, and then publish MY source code with no credits / royalties paid to me. But then again, it's just my old capitalist side talking.

    Third, they're giving the stuff away. They can slap the license they want on it, because my ultimate right is to choose some other environment to work in. No one is cramming the software down our throats. We have options.
  • Source code doesn't use Borland C++, therefore the license does not apply to it. What the license is prohibiting is using the Borland compiler to create assembly code, and distributing that.
  • It states very clearly:

    You may produce and distribute, in executable form only, programs which you created...

    In other words, you are allowed to do that. It doesn't say you aren't allowed to do otherwise...

    Sorry.

    Noom
  • it says
    "You may reproduce and distribute, in executable form only, programs which you create..."
    it does not say
    "You may only reproduce and distribute programs which you create in executable form."

    This is explicitly giving a right, not taking one away. You'd think a slew of people who (generally speaking) make their living off absolutely precise syntax might know how to diagram a sentence ..

  • "You may reproduce and distribute, in executable form only, programs which you create using the Software without additional license or fees, subject to all of the conditions in this statement." I think that means you can't redistribute Borland widgets in your program, without paying them some fee, which sounds fair.
  • Er.. yoohoo... how do *you* tell whether a particular source tarball you receive was edited using the borland C++ IDE? Let alone by the particular one on the magazine?

    Sorry, but you just can't claim "we need to know more" about that mess.

    Although I'd agree about 'use gcc instead' though ;)
    ~Tim
    --
    .|` Clouds cross the black moonlight,
  • or does Borland own everything I
    write?
  • Isn't this C++ "Builder?"

    Isn't this one of the Software packages which has tons of little shortcuts and simpler ways to make code sort of lego block stuff? I am not sure but it seems like it to me when I took a look at it. Perhaps they are protecting their SW-generated code.
  • If this is something you got for free along with a magazine I wouldn't be complaining about the licensing terms too much, unless of course this is the ONLY way you can get it.
  • As compiler technology moves further into the future, this question will come up more and more.

    The question is how much of what I cause a computer to do FOR ME, actually belongs to me? I say all of it, but Borland seems to be pushing the envelope here, since, although, they may have some reasonable clame to their executable code, the code that they generate on my behalf is as dependent on my code, as it is theirs. But more importantly it is dependant on my intellectual property, and my design. Just as if I hired a consultant to generate the same code for me, I would own the code and not a consultant!

    Borland is selling a product to serve MY needs in exchange for financial gain. They are trying to reduce the ammount one gets in the exchange. For a company like Borland, that is dying, they should be doing just the opposite.

    If the compiler company can define all code built using their compiler as a derivitive work, can they hold your code hostage if you develop it using their platform?

    Moreover, if this code is not derivitive, what does that do for the lesser GPL?

    There are many questions here, I'm sure most of them, in one way or another will ultimatly serve to point out the gaping holes in current copyright and digital format laws.

    John
  • It's true. It has just been discovered that "Clippy" aka "PaperClipMan" secretly reads all MSWord documents and reports back to MS Redmond all violations. Try it. Type in "MICRO$OFT $UCK$", then save it. Then run tcpdump on your Linux machine and watch for secret messages hidden in the TCP headers.

    I am going to see if it works with WordPerfect files stored as .doc.
  • The REAL problem here is that at least two morons (Craig Miskell and Cliff) didn't read the entire license before they created a problem where none existed previously. As many people have pointed out, further into the license it says:

    All Inprise libraries, source code, Redistributables and other files remain Inprise's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Inprise source code and other non-executable files) except those that Inprise has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Inprise has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code.

    How exactly might the last two sentences be ambiguous? I guess they might be, if you have the IQ of a tin can.

  • I'd have to agree... I'm certain Borland is simply giving you the right to redistribute their headers/libraries as compiled into your program in executable form *but* you can't redistribute their headers and libraries.

    Borland has always had very reasonable proprietary licenses. I do not expect that to change.
  • Borland has no claim to your source code, hence you need no license from them to distribute it in the first place. The license above is ambiguous, but what probably is intended (and legally enforcable) is that you can distribute Borlands libraries et al only as a part of your compiled executable.

    It's still fairly stupid, but such is the world of commercial software.

  • Does this C++ compiler come with some sort of Borland-only libraries, with the associated Borland-copywritable include/header files?

    OK, I'm grasping at straws here, but maybe that's what they're trying to protect.

    Of course, it's not like it makes any real difference. If a tool (like a compiler) tries to restrict your freedoms, then use another compiler that does not. Like, say, gcc - which I'm told does C++ just fine.

  • Okay, as a Borland (and Linux) Zealot (Kylix I can't wait!), let me throw in my interpretation. This rests on the fact that a lot of people miss: C++ Builder is not just a compiler. It's a complete development environment, with extensive libraries and all kinds of features. It includes a compiler, but it is not just a compiler.

    Borland C++ Builder (and Delphi for that matter) come with the source code for VCL, which is kind of an object wrapper environment that wraps around a whole slew of API's, including Win32, ODBC, etc. and provides a convenient interface to them. Using VCL, it is easy to do VB-style forms generation, databases, and whatever else. VCL is simply awesome.

    Obviously, for your C++ Builder app to run, you have to have the VCL libraries installed as well -- just as, for VB, you have to have the VBx00.dll file installed. Borland gives you a license to redistribute VCL, royalty free. However, for obvious reasons, they have not to date wanted to distribute the source royalty free -- VCL is the biggest thing that makes C++ builder better than any other C++ compiler (the other big thing is the IDE, but it seems that VCL does most of the heavy lifting for the IDE).

    Incidentally, Borland have tried to get MS to bundle the VCL libs with Windows, and Microsoft has refused (even though the MFC and I think the VB libs ARE bundeled).

    The other possibile applicability is auto-generated source. In C++ Builder, there are many wizards to generate basic forms for you. Want a simple database form? Use the database wizard, point it to the database file, and 5 minutes later you have a database form that works.

    Since the wizards work by cutting a snipping code that someone at Borland wrote, Borland might not want that code redistributed. However, I suspect that the intent of the language was not this, but VCL.

    Should this language be corrected? Heck yes. But I don't think Borland means to stop open source software from using C++ Builder or VCL.

    --

  • Regardless of what other (lucid, thoughtful) postings have stated, here's an idea: distribute your source in a self-extracting executable archive. There ya go.
  • ... is the HEADLINE. There is absolutely, positively no excuse for asking "Borland C++ Can No Longer Be Used To Make Free Software?" when the article does not discuss Borland C++ at all. according to the Borland Web site [borland.com], the following are separate products:

    --- Borland C++
    --- C++ Compiler
    --- Borland Turbo C++ Suite
    --- Borland C++ Builder

    The license cited is for Borland C++ Builder -- a completely different product from Borland C++. This betrays either gross neglect, or deliberate inflammatory rhetoric. Anyone, anywhere could screw thenselves up using the wrong product in almost any task. Therefore getting the name right is the most basic act that anyone can be expected to do.

    Besides, as has been noted elsewhere, Borland C++ Builder *generates* code for you. You can write and distribute the binary, or any source code you write -- but not source code that Borland writes.
    _____________

  • by PenguinX ( 18932 )
    So, does the C++ builder tool only make it's "own" version of C++ code? Has Borland modified it in such a way to make it difficult, or otherwise impossible to enforce such a liscense? What if I write my code in vi and then compile using their compiler may I then redistribute my IP?! Ugh, it amazes me at the utter audicity of Borland to suggest such a thing. Since source code is intellectual property Borland has no juristiction to make such a wild claim, and it would seem that they are shooting themselves in the foot when it comes to development teams, CVS, and hell - how the product is even laid out.

    Sounds like marketing didn't understand the product, or laws at all.

  • I'm pretty certian that it would still come under IP of the coder :)

    Brian
  • Yet another example why English is a HORRIBLE language for law.

    Please, somebody cook up a decent language and grammar for law that isn't filled with inconsistencies.

    Of course, Pascal bigots say the same thing about C...
  • Of course, what's good for natural languages isn't necessarily good for formal ones. I've been thinking for a while now that lawyers attempt to program society in the same way that programmers program computers.

    I have been saying exactly this for years, but all my lawyer "friends" claim that I'm just being a geek (insert hammer-stuff-looks-like-nail metaphor).

    I have always felt a FORMAL, non-English language should be developed for law.
  • This is ALREADY how it is.

    Lawyers DO already spend 90% of their time learning how the "legal" language works. Non-lawyers ALREADY are not qualified to read and interpret written laws, hence the ubiquitious "IANAL" disclaimers.

    And as far as "natural language translations" go, we have this function already as well in the form of the court system. This is exactly what judges do when they publish findings.
  • Borland used to be renowned for it's dead-tree manuals. Once they killed the Turbo C and went into the C Builder product lines, the dead tree manuals degraded into the present online help kludge. You have to give credit, Borland is going back to its roots as a really good compiler first, MS competitor second, but they still have a LONG way to go to gain back the credibility they lost in the late nineties.
  • You're emphasizing the wrong part of the statement. All it's saying is that you can release only a binary with no requirement to release the code. It's saying you can release only an executable with no extra licensing or fees.

    As stated above, Borland has no power over my creations.
  • They probably told the lawyers that they didn't want anyone to freely distribute their proprietary libraries. The lawyers writing the license probably thought that meant no free distribution of source code.
  • I know that this isn't a SOLUTION to the problem, but wouldn't a simple workaround be to load the .cpp files into a regular text editor, and re-save them? .cpp files are just ASCII anyway, right?

    For that matter, if BC++Builder doesn't include any junk in the file, it would be pretty hard to prove that the code was created with the software in question. Might not be legal, but Borland would have a really hard time proving that their software was used instead of.. say, 'notepad.exe'

    A little aside: I doubt Borland did this on purpose. There would be no benefit to them to do so. Sounds like a little liscensing mishap that someone happened to pick up.
  • I disagree with your assumptions. Slashdot may be a news and media site, but it isn't a normal one. It's not made by journalists - it's made by programmers. We the audience are the "fact-finding" journalists. And we crunch through many stories every day and sift the wheat from the chaff, fact from fiction. Maybe this model doesn't work for you, but I think it's a more accurate description of Slashdot than yours.
  • The C++ Compiler v5.5 is not equal to C++ Builder 3

    I have not read either licence, but I'm sure that they will differ, as the Compiler is freely available, but (in most cases) you still need to purchase the Builder.

    I agree, however, that reading more than one paragraph of a long licence is required before posting a story like this.
  • However, here is a pet theory: If Borland really is trying to limit the distribution of source, then it is probably because they feel that if you have the source and the binary of a program that was compiled with their compiler, then you can figure out some of the optimization algorithms that they might use. So they might want to try to prevent that by disallowing the distribution of the original source with binaries that their compiler has produced

    No good.
    1. If you're serious about reverse engineering the optimisation, you will just have your own copy of the compiler and
    2. not bother looking at other people's code. Specfically designed simple code would be MUCH more revealing anyways than a normal programme.
    3. Furthermore, Borland's optimizer is not so hot anyways. My code runs significantly faster when it's compiled with Microsoft's compiler than with Borland's. It's POSSIBLE that that's what they don't want you to know, but still this doesn't forbid benchmark's, just complete distribution of the benchmarks.

  • Come on fellas, settle down. By the looks of it, this particular license applies to the distributed copy of Borland C++ contained in the magazine. This license would be FAR different than the one included in a retail box. They don't want anybody making any money off of this compiler - they're getting it for free, after all. Why they won't allow you to distribute source is a bit odd, but why don't you use a real compiler like GCC, anyawys? ;)

    Dave
  • "a neato printed manual"

    What are these printed manuals you speak of?
    That sounds like a cool idea! Someone should try that!
  • Your un-interpreted code is not a program. The code you wrote is yours. The code Borland wrote, included in the compiled executable, is not.
  • this [slashdot.org] comment sais it better, but is not that sentece put there to protect borlands own source code (and more important, code licenced to borland)?

    I've not used the free(beer) version, but any major development tool for windows comes with a bunch of proprietary libraries and objects.

    Borland are quite nice, since they include the source for their own libraries. My guess is that a full reading of the contract (for those 100 lawyers) reveals the obvious:
    a) You can distribute your own code
    b) You can distribute the executable
    c) You cannot (without explicit licence) redistribute the source of any additional libraries uses in yourt application.

    So, if you use GPL-ed libraries, you are free to distribute the whole source. If you use any proprietary libraries, you can not distribute their source (without permission). That means that any other contributor to your application will need a separate licence for those libraries. Only fair.

  • ...or in the same way the posting on a Slashdot discussion board in no way gives Slashdot the right to control what happens to them (such as putting them in a book). Just a thought :o) Don't mod it down -- I love Slashdot, or I wouldn't be here!
  • They probably meant "with or without source code", meaning that one does not have to release one's source. Source code copyright (and control of the source) remains with the author, regardless of which compiler he/she uses.
  • I remember that Borland C++ 4.0's license specified explicitly that auto-genned code (by the AppExpert tool) was considered your code, just as if you had written it yourself.

    I seriously doubt this would stand up in court, though IANAL...

    -Reeves

  • Sounds more like they're guaranteeing your right to distribute programs as executables only (no source) rather than infringing on your right to distribute programs with source included.

    Duh.
  • Do this:

    1. edit source code;
    2. distribute source code;
    3. compile with Borland;
    4. distribute binary only;
    5. go to 1.

    There you go... :)

    --

  • It isn't saying that you are forbidden to distribute source code to your programs, it is saying you are allowed to distribute binaries without source.

    It can be read either way, and as such is poorly worded, but since you own the code you wrote, it only makes sense one way.

    Besides, isn't ambiguity in a license legally supposed to be interpreted in favor of the licensee?

  • Hmm... I've used all of Borland's RAD products, C++ builder basically being one of them, and yes, it does generate code, I've never used anyone else's tools, so I don't know how other tools work, but it is an Excellent visual environment, very easy to quickly come up with code for a project.

    Personally, I find Delphi a bit better for RAD projects, as the language is, for me, a touch more intuitive, and less messy than C++. Either way, they're a couple of great RAD tools, and I hope this license doesn't mean what everyone thinks it does.

  • Whoa. Mindblowing.

    Just out of curiosity, what is a "commercial document" anyway? If I had Office Academic and I start writing a book, does that mean that I had to pony up to publish it legally?

    I'm sorry, licenses that control content creation don't wash with me. I believe one of Microsoft's better-known legal abuses in the Chicago days involved a clause in the license for MFC that made it rather complicated for anyone to write something like a word processor or spreadsheet with MFC because it competed directly with MS. I can't possibly see how this can be considered legit -- it's impossible to enforce and it seems to be in rather bad faith. The funny thing is that MS did this in a market where there were plenty of VC++ alternatives out there...

    /Brian
  • I think you are right in that what it is trying to say is that even if you distribute in executable form only you do not have to pay an extra license (i.e. not open source). Unfortunately as far as I can see (IANAL) it does actually manage to exclude you from distributing any source files written in the IDE.

    I suspect the problem is a lawyer who has been told to rewrite it to allow a certain scenario and has managed to muck up an existing right. It should say something like "in executable form with or without any source code".

  • Sigh,

    I first read about this in the Borland newsgroups, and thought what a bunch of idiots, even in the tidbit posted in the quote at the start is says,

    "You may reproduce and distribute, in executable form only, programs which you create using the Software without additional license or fees, subject to all of the conditions in this License Agreement."

    Now this actually says you can give stuff away, and there are further conditions, which of course
    were totally ignored by almost everybody commenting here not to mention the original poster. So to read on in the Borland C Builder 5.0 (not the freebie the full blown package),

    "All Inprise libraries, source code, Redistributables and other files remain Inprise's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Inprise source code and other non-executable files) except those that Inprise has
    expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Inprise has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code."

    So not only is the code you make yours and freely distributable but ALSO the machine generated code as well. The full Borland C Builder package comes with quite a but of source that is owned by Borland/Inprise and they obviously don't want that to be given out.

    I think that in future it would be very helpful to the /. readers if links to or the full text of these licences was posted along with the original post. If that was the case here this who discussion would have been a total non-issue. This was not even a 'misinterpetation' since the topic is clearly covered in the agreement in plain english.

    "You are not, of course, restricted from distributing source code or byte code that is entirely your own."

    How much clearer can it get.

  • I'm sure if you upgrade to the latest $$$ version of C++ all such restrictions will be removed, it's an old marketing ploy - you couldn't use homemade mods with the shareware version of Quake, upgrade to Blah 98 & receive a neato printed manual etc.

  • Actually, this has been standard for a long time. If it is new, it's probably just reiterating what's been their policy all along (although I admit it does sound kinda fishy). I think since they started Kylix, they may have found themselves a little nervous about the GPL which says no closed library dependencies. Well, they rely heavily on something called the Visual Component Library which is a kick-ass little system involving what they call Borland Package Libraries which can be integrated/linked at design-time (RAD), compile-time (static link) and/or run-time (dynamic link). Anyway, these BPL's contain the VCL and these BPLs are closed. Basically, this says that those compiled, standard BPL's are theirs, not yours, so by using their tools, you agree to abide by their rules, even if it means no GPL. They're just trying to beat the GPL to the punch. (I won't comment on their tactics, just tellin' it like it is.) Anyway, I think this applies more to the VCL/RTL packages (REDISTRIBUTABLES) & source than it does to your program.

    It breaks down like this:

    Link to VCL at compile time: OK.
    Link to VCL at run time: OK.
    Use VCL at design time: OBVIOUSLY OK (that's how RAD works).
    Distribute unmodified VCL for free (beer) with your program: OK.
    Change VCL and link at compile-time: OK.
    ---
    Distribute VCL source: NO.
    Distribute RTL source: NO.
    Distribute modified VCL (change VCL and/or RTL, and link at run-time): NO.


    That's what this license says. There are certain tricks and exceptions that are allowed or that they don't really care about, but this is basically the rules. I'd guess what they're saying here is even if you release something under the GPL, you can't distribute the binaries to their source.
    ---
  • by Ares ( 5306 ) on Wednesday May 17, 2000 @09:18AM (#1066432) Homepage
    I'd have to agree. If I read it carefully enough, it sounds like you can distribute .exe's, but not .obj's or .lib's, since they're not truly executable. I'd cast a vote for this even more so, given that the title of the excerpt is <I>"GENERAL TERMS THAT APPLY TO COMPILED PROGRAMS AND REDISTRIBUTABLES"</I>. The key words are compiled programs and redistributables. Source code is hardly compiled, and this the terms do not apply to it. Twenty bucks says this is here to prevent the developer from redistributing the headers, object files, and libraries that come with it.

    Of course, I ain't a lawyer, so the above may be a a bunch of hooey. If you're that concerned, talk to someone who is.
  • by sandler ( 9145 ) on Wednesday May 17, 2000 @08:18AM (#1066433) Homepage
    Why doesn't someone who has a copy of the software email Borland and ask them to clarify, rather than everyone randomly speculating and/or switching compilers? Do we even know if all versions of the compiler come with this licence, or just the one from the magazine?
  • by loki7 ( 11496 ) on Wednesday May 17, 2000 @07:34AM (#1066434) Homepage
    Borland cannot prevent you from doing whatever you like with code which you've written. I suspect that this restriction only applies to code which is generated by Borland wizards or other code generation tools.

    It still seems like a strange restriction, but it shouldn't affect the production of free software as long as you write it yourself.

    /peter

  • by zCyl ( 14362 ) on Wednesday May 17, 2000 @12:02PM (#1066435)
    > I could show this to 100 lawyers and get this same reading.

    Yeah, you could, but not if you showed them the whole thing:

    "You may reproduce and distribute, in executable form only, programs which you create using the Software"

    "in executable form only" limits what you can reproduce and distribute, but then "programs which you create using the software" tells you what it's talking about, since "programs" is the direct object of the sentence, and "which you create using the software" is an adjective clause modifying programs (incidently, I have no legal training, but I did take English classes once a long time ago). You feed a compiler source code. It creates programs, and you can distribute them. It does mean that you can't distribute a disassembled copy of a program that you compiled with Borland C++, but it says nothing about the source YOU generate.
  • by viper21 ( 16860 ) <scott@NoSPaM.iqfoundry.com> on Wednesday May 17, 2000 @07:35AM (#1066436) Homepage
    Read that again. That just guarantees you the right to distribute programs that you use THEIR compiling tools to create. It isn't saying you can ONLY distribute things in binary executable format, but that you are allowed to.

    Why did someone post this as a story?

    -S

    Scott Ruttencutter
  • by YoJ ( 20860 ) on Wednesday May 17, 2000 @08:39AM (#1066437) Journal
    It would be nice to know what Borland thinks about their own license. But when you agree to the license, you are agreeing to the license text itself and not Borland's interpretation of it. I think this story is good because it points out an ambiguity in a license that might cause problems for free software.

    -Nathan Whitehead

  • This subject should never have come up.

    Later in the license it says "The Software might include source code."

    With regard to the people asking about automatically generated code: "Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code."

    Duh.

  • by LordNimon ( 85072 ) on Wednesday May 17, 2000 @08:31AM (#1066439)
    You may reproduce and distribute, in executable form only, programs which you create using the Software

    The key phrase is "programs which you create using the software". The source code to my software is not created by the compiler. I create the source code, not the compiler. This license only talks about the stuff that the compiler creates.

    So the question becomes, what does the compiler (and related tools) create? A bunch of things:

    • Executable binaries
    • Object files
    • Libraries
    • Listing files
    • A bunch of other things, like class browser files, makefiles, etc

    I think the point they're trying to say is that of all the things that the compiler, etc (aka "Software") generates, the executable is the only thing you're allowed to distribute. You can't distribute, for instance, the listing files that show what kind of assembly code the compiler has generated.

  • by rjamestaylor ( 117847 ) <rjamestaylor@gmail.com> on Wednesday May 17, 2000 @07:35AM (#1066440) Journal
    You're not confusing a compiler (Borland C++) with a code-generator ("Builder") are you?

  • by RobertAG ( 176761 ) on Wednesday May 17, 2000 @08:17AM (#1066441)
    It might refer to the DLL's and other binaries included with the product. In the excerpt, "software" is capitalized, leading me to think that it refers to the compiler, not source created by the user. It wouldn't make much sense to prohibit programmers from distributing source code, especially when you're giving your product away for free to get those same people to use it.
  • Software licenses are meant to be executed by non-attorneys. That means they should be unambiguously worded and in a language that the person who executes the license understands. This license is ambiguous regarding what it restricts and what it does not. To parse it correctly takes more understanding of the law than the person who will execute the license can be reasonably expected to have.

    Thanks

    Bruce

  • by schporto ( 20516 ) on Wednesday May 17, 2000 @08:06AM (#1066443) Homepage
    Go to Borland's site. Read what this thing does. When you use it C++ code is created. You do not write C++ code with this. I would imagine that this license applies to the code it generates. They are copyrighting their code generator. This is kinda similar to say MFC being copyrighted but giving permission to freely redistribute.
    C++Builder has code in itself to do X. You want to do X in your program. It adds the code for X. Kinda like using VB adding a component but instead of just getting this visual dodad you get actual code. They are maintaining that you can redistribute this is binary form
    So you can compile something in C++Builder and distribute the source. However developing it entirely in C++Builder is a no-no. Because it would use Borland's code in the final output of your project. If you released your source free and clear at that point you would be distributing Borland's source code.
    Remember this is not just a compiler.
    -cpd
  • by mswindell ( 67722 ) on Wednesday May 17, 2000 @10:23AM (#1066444)
    The source referred to in the license restriction was distribution of the Borland supplied library source code - not the developer's own source. That would be an unusable license. We've always included the source to our supplied libraries and the restriction was only to protect those libraries - for they were licensed under a traditional software license. You can use any Borland C++ compiler including the command line free BCC or the new C++Builder 5 to create GPL licensed applications. If you link with non-GPL libraries, such as those included with the compilers, you would need to include a clause in your license as described on the FSF site for using Qt - a non-GPL library. -Michael Inprise/Borland
  • by TheKodiak ( 79167 ) on Wednesday May 17, 2000 @07:57AM (#1066445) Homepage
    Unlike this article, this post brings up a marginally interesting question.

    If I use Delphi or whatever to create an application, who does the AUTOMATICALLY GENERATED code belong to? The VCL belongs to Borland, I know this. But when I hit Ctrl-Shift-C, and Delphi spits out some useful declarations for me, is that source automatically mine (analagous to a paint program) or does Borland have to say something for it to be mine (analagous to copying code from a web page)? The code it is automatically generating is, after all, using _my_ copywrited work.

    I'm assuming that it's just like using MS Paint.
  • UK PC magazines almost all carry CDROMs, and now DVD's, and full software turns up on these CDROMs all the time. Borland have been putting older versions of Delphi, C++Builder and other products on theses magazines for years. I have copies of Deplhi from version 1 to version 4.

    This has always been a license restriction in the giveaway release of development software they put on the magazines. There is always an offer to obtain a full-development-rights license (and the rest of the retail box stuff) for a nominal sum (about 30 UKP).

    This is not new. This is only restricted to coverdisk software. There is nothing unusual here. The software is being released for home use only. And gratis at that...

    Pax,

    White Rabbit +++ Divide by Cucumber Error ++

  • by Remote ( 140616 ) on Wednesday May 17, 2000 @08:20AM (#1066447) Homepage

    Borland C++ Builder 5.0 has the same text in its license, but below, under the title "GENERAL TERMS THAT APPLY TO COMPILED PROGRAMS AND REDISTRIBUTABLES" it reads:

    • The Software might include source code, redistributable files, and/or other files provided by a third party vendor (Third Party Software). Since use of Third Party Software might be subject to license restrictions imposed by the third party vendor, you should refer to the on-line documentation (if any) provided with Third Party Software for any license restrictions imposed by the third party vendor. In any event, any license restrictions imposed by a third party vendor are in addition to, not in lieu of, the terms and conditions of the License Agreement.

      All Inprise libraries, source code, Redistributables and other files remain Inprise's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Inprise source code and other non-executable files) except those that Inprise has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Inprise has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code.

    So, if you can distribute source code from a third-party vendor, in case the latter doesn't oppose, you can sure distribute your own. What you can't do is redistribute what Borland gave to you, other than the "redistributables" that appear on their list.


  • by gilroy ( 155262 ) on Wednesday May 17, 2000 @11:32AM (#1066448) Homepage Journal
    OK, I'm feeling a bit punchy, but that post put me in the mind of a haiku:
    Placement of commas

    Can seriously impact
    The legal meaning.
    I'll just slink back into my corner now.
  • by maunleon ( 172815 ) on Wednesday May 17, 2000 @08:17PM (#1066449)
    If people only read the license further down...

    "All Inprise libraries, source code, Redistributables and other files remain Inprise's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Inprise source code and other non-executable files) except those that Inprise has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Inprise has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code. "

    People read the license before jumping to conclusions! I think by the way I just commited copyright violation by posting the license agreement here. :)

  • On the one hand, it's pretty evident that the Borland license can't say anything restrictive about what you do with your own code.

    Thus, the notion that the license implies that you can't use Borland C++ to compile a GPLed program is just silly. And if someone posted the story on that basis, this makes them irresponsible idiots.

    What is, on the other hand, less clear, is what transformations C++ Builder can do on your code, and whether THAT could lead to Borland having the right to restrict what you do.

    People may remember back to the days of Bison before version 1.24. From the Conditions for Using Bison [gnu.org]:

    As of Bison version 1.24, we have changed the distribution terms for yyparse to permit using Bison's output in non-free programs. Formerly, Bison parsers could be used only in programs that were free software.

    The other GNU programming tools, such as the GNU C compiler, have never had such a requirement. They could always be used for non-free software. The reason Bison was different was not due to a special policy decision; it resulted from applying the usual General Public License to all of the Bison source code.

    The output of the Bison utility--the Bison parser file--contains a verbatim copy of a sizable piece of Bison, which is the code for the yyparse function. (The actions from your grammar are inserted into this function at one point, but the rest of the function is not changed.) When we applied the GPL terms to the code for yyparse, the effect was to restrict the use of Bison output to free software.

    In similar manner, if you use C++ Builder to generate code, as might be the case if you used the Drag'n'Drool interfacing to generate GUI code, it is plausible that Borland might have something to say about what you do with the code that was generated by their code generator.

    A responsible person would, before submitting this story, try to verify some such information, rather than generating an irresponsible drive-by flaming of Borland. Of course, a responsible person would, before accepting the story for publishing, do some modicum of verification.

    Few, of course, would accuse Slashdot of being a place for responsible people.

  • by ABadDog ( 28370 ) on Wednesday May 17, 2000 @07:36AM (#1066451) Homepage
    I believe you're interpreting the license incorrectly. It gives you the right to release binary-only executables. It doesn't say that you can't release source code. Borland's license can not affect what you do with what you've created. After all, you wrote your code for use with GCC, right? And running material you own through Borland's compiler in no way allows them to say what you can do with it, in the same way that running your food through a GE garbage disposal in no way gives GE the right to say what you can do with the remains!
  • by bfree ( 113420 ) on Wednesday May 17, 2000 @07:46AM (#1066452)
    Yet again Slashdot has posted a story querying the intentions and validity of a license from a commercial software developer without first asking, in this case Borland/Inprise, what it means. Could we please refrain from posting any stories like this until the external party has had a chance to make a comment which should be included in the story and make this a far more worthwhile exercise. As it is any comments will be rendered inapplicable when we hear from Borland (well virtually) so let's see some sense.
  • by dweezil ( 116568 ) on Wednesday May 17, 2000 @08:19AM (#1066453)

    I recently downloaded a copy of the Borland C++ Compiler v5.5. It's free as in beer. The license contains the paragraph quoted above but if you read the whole thing, you find the following paragraph:

    All Inprise libraries, source code, Redistributables and other files remain Inprise's exclusive property. Regardless of any modifications that you make, you may not distribute any files (particularly Inprise source code and other non-executable files) except those that Inprise has expressly designated as Redistributables. Nothing in the License Agreement permits you to derive the source code of files that Inprise has provided to you in executable form only, or to reproduce, modify, use, or distribute the source code of such files. You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as an Application Wizard, is considered by Inprise to be your code.

    Talk about going off half cocked.

  • by kfg ( 145172 ) on Wednesday May 17, 2000 @08:40AM (#1066454)
    Ok, I guess I have to go ahead and do it anyway.

    IANAL, BUT, I have legal training and have worked in the legal field. I also deal with copyright law all the time in the publishing field.

    So, here's how any lawyer *not being payed to disagree* would interpret this.

    "You MAY distribute," is a statement giving the right to distribute. Without this clause it is possible you wouldn't have any rights to distribute executables at all.
    This is a legal assignment of right.

    "In executable form only",This is a RESTRICTIVE clause, unlike the the first clause. It explicitly states that ONLY executables may be distributed. This is a RESTRICTION imposed upon the prior assignment.

    The comma, while to a casual reader means little and is largely arbitrary, means a great deal to a lawyer or a judge. The comma means that these are two SEPERATE clauses. One granting, one restricting the grant.

    The sentence "You may distribute in executable form only" is a VERY different legal statement from "You may distribute, in executable form only." Issues like this are the very *reason* you have a lawyer read your contracts for you.

    I could show this to 100 lawyers and get this same reading.

    Now, this may not be what Borland *meant*, but it is what the license says.

No man is an island if he's on at least one mailing list.

Working...