ARM development software

leon_heller:
Suppliers of compilers (and other software) generally disclaim all liability in their license terms.

Maybe so, but in the Internet-connected world it is not so easy to get away with that any more. It soon gets around if a compiler vendor does not adequately support his customers and that compiler vendor will not be in business for very long.

Whenever I’m selecting a development tool the quality of support (i.e. time taken to respond to questions, accuracy of responses, access to the developers, time taken to fix reproducible bugs etc.) is one of the critical factors in my purchasing decision.

This is not as difficult to determine as you might imagine - check any relevant newsgroups and look out for praise (or complaints). Another good test is to contact the vendor and ask some pertinent technical questions. If you have to wait a week for a reply when they could be making a sale, you haven’t got much hope of support once they have your money!

Our standard policy, which has been maintained for the past ten years, is to respond to all emails received on business days within 24 hours.

I think this goes back to stevech’s comments (not trying to put words in his mouth). most people are interested to use compilers / ides as a tool to achieve their goals. so it adds no or little value for them to have the ability to understand how the tools work, or to produce a highly tailored tool for themselves.

I think you've missed a "not only" in my last post, since I was pointing out that open source software is valuable even for those who are NOT interested in their source code.

In that post I was pointing out that if you need something, and there is not enough demand to motivate a commercial effort, then you’ll find open source a good solution, and that’s a good thing of open source software.

inventore123, we are saying exactly the same thing, but from different angle.

my point is that the ability to run the tools on different platforms is of little interest to most people so it doesn’t justify a commercial product. That statement recognizes that such a tool is of value, maybe great value, to some people, however a minority they are.

your point, if I understood it correctly, is that it is exactly in such a case that a tool like gcc is of great value to those who do indeed work on different platforms.

we are both agreeing to a) the diversity of demands in the market place; and b) the reality that such a cross-platform tool’s appeal is limited, thus the lack of commercial products targeting this niche.

both sides of the same coin.

By liability, I don’t mean that related to the product built with the tool. I do mean that if the tool proves to be other than that represented, and has a flaw causing damages in the form of delaying the product completion, then with a commercial compiler, you have legal recourse to force them to correct the problem or pay remedies. This is not an “as-is” licensing, but rather not-as-represented or not-as-reasonably expected.

Matters not in this forum. Sorry I brought it up.

That sort of liability is excluded by all the software licenses I’ve seen! Here is a typical disclaimer:

  1. DISCLAIMER OF WARRANTIES.

YOU EXPRESSLY UNDERSTAND AND AGREE THAT:

a. THE SITE, SERVICES AND MATERIALS ARE PROVIDED BY ADOBE “AS IS,” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WITHOUT LIMITING THE FOREGOING, ADOBE MAKES NO WARRANTY THAT (I) THE SITE, SERVICES OR MATERIALS WILL MEET YOUR REQUIREMENTS OR WILL BE UNINTERRUPTED, TIMELY, SECURE OR ERROR-FREE; (II) THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SITE, SERVICES OR MATERIALS WILL BE EFFECTIVE, ACCURATE OR RELIABLE; (III) THE QUALITY OF THE SITE, SERVICES OR MATERIALS WILL MEET YOUR EXPECTATIONS; OR THAT (IV) ANY ERRORS OR DEFECTS IN THE SITE, SERVICES OR MATERIALS WILL BE CORRECTED. NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM ADOBE OR THROUGH OR FROM USE OF THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS.

b. ADOBE SPECIFICALLY DISCLAIMS ANY LIABILITY WITH REGARD TO ANY ACTIONS RESULTING FROM YOUR USE OF THE SITE AND MATERIALS, OR YOUR PARTICIPATION IN ANY SERVICES. ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH USE OF THE SERVICES IS ACCESSED AT YOUR OWN DISCRETION AND RISK, AND YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR LOSS OF DATA THAT RESULTS FROM THE DOWNLOAD OF ANY SUCH MATERIAL. ADOBE ASSUMES NO LIABILITY FOR ANY COMPUTER VIRUS OR SIMILAR CODE THAT IS DOWNLOADED TO YOUR COMPUTER FROM THE SITE OR ANY OF THE SERVICES.

Leon

stevech, you are talking about merchantability of software.

you will find that pretty much all software licensing agreements will have explicit disclaimers on their merchantability, :). this is true for cots software but especially so for customized software.

and increasing so for high priced computer hardware. i haven’t checked myself but I bet you that it is so for mcus.

even if you get a sympathetic court, the other side will use the course of dealing argument to defeat you - that is, bugs are part of life with computer hardware / software. it is your fault not to expect them, not the manufacturer’s fault to have failed to eradicate them.

to date, I know of no significant case where a plaintiff has won on software merchantability.

thus from practical point of view, using commercial software brings you no comfort. well, it shouldn’t.

leon_heller:
INCLUDING THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY

:).

AND YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR LOSS OF DATA THAT RESULTS FROM THE DOWNLOAD OF ANY SUCH MATERIAL.

I am actually surprised that they modified “any damage” that way, thus opening a tiny crack for the users. But the sentence before this one would help them mitigate that risk.

if I were them, I would have stop’d at “ANY DAMAGE”, as a double redundancy, to shut out any hope of remedies against the company.

this language does not relieve them of remedy for a product that does not operate/perform as represented. That topic is not damages incurred by use of a product derived from the subject product (development tool).

stevech, a good’s merchantability is about if it can perform for the purposes it is purchased.

a good is merchantable if it does what it says it does.

so by carving out its merchantability, the software vendors basically say that you are out of luck if the software doesn’t function as warranted, as expected, or at all.

Legal advisers tell me that this language in software licenses does not sustain if challenged, and you can prove that their “tool” is faulty as compared to their claims and reasonableness. Point is, though, that through this kind of process, or the vendor’s economic motive to have a good product and satisfied customers, non-trivial problems get corrected quickly, in competitive (that excludes Microsoft) commercial products. Often, but not always, also true with freeware.

stevech:
By liability, I don’t mean that related to the product built with the tool. I do mean that if the tool proves to be other than that represented, and has a flaw causing damages in the form of delaying the product completion, then with a commercial compiler, you have legal recourse to force them to correct the problem or pay remedies. This is not an “as-is” licensing, but rather not-as-represented or not-as-reasonably expected.

In many locales, this will be limited to the original purchase price of the product. It doesn’t help your product ship on time. If you’re paying for an extended contract, then by all means your contract should cover their goofs.

If you want commercial support, I would suggest CodeSourcery. Source code availability (very important factor for sustaining software), plus good support.

Apple depends on GCC to make their world spin (though they are transitioning to LLVM, very exciting). This includes ARM, for the iPhone/iPod Touch. There is really nothing wrong with the GCC ARM backend.

As for IDEs? All pre-canned IDEs are in my opinion too limiting . As your product grows, your tool suite needs to adapt with it. I’m a fan of the modular UNIX philosphy. GCC, binutils, gdb, emacs, make files, shell scripts, custom automated test harnesses (which automate unit tests on actual devices), all easy to integrate and adapt.

stevech:
Legal advisers tell me that this language in software licenses does not sustain if challenged,

that would be a very aggressive reading of the law, borderlines on mal-practice, in my view.

and you can prove that their “tool” is faulty as compared to their claims and reasonableness.

not only the software vendors didn’t claim anything, they expressly disclaimed anything. so I am not sure how you can sue on the basis of a disclaim.

I think you can argue that commercial products have many advantages over a “free” one like gcc but merchantability of goods happens to be an area where such an advantage do not exist.

Point is, though, that through this kind of process, or the vendor’s economic motive to have a good product and satisfied customers, non-trivial problems get corrected quickly, in competitive (that excludes Microsoft) commercial products. Often, but not always, also true with freeware.

agreed. I think the for-profit motivation, as well as the potential damages to the vendor’s reputation from a faulty product / lack of support, is much stronger with a commercial product than it is with freeware.

it gives me more comfort knowing that someone is motivated out of his self-interest to make sure that the commercial product I use and rely on functions as I expected.

whether that actually does in reality is another story, :).

this is the disclaimer that IAR put in one of their documents, and I would imagine the same or similar language exists in their licensing agreement.

DISCLAIMER

The information in this document is subject to change without notice and does not

represent a commitment on any part of IAR Systems. While the information contained

herein is assumed to be accurate, IAR Systems assumes no responsibility for any errors

or omissions.

In no event shall IAR Systems, its employees, its contractors, or the authors of this

document be liable for special, direct, indirect, or consequential damage, losses, costs,

charges, claims, demands, claim for lost profits, fees, or expenses of any nature or kind.

it is fairly standard and goes broader than the Adobe language we saw earlier. under this language, they could basically take your money and ship you a brick. while that’s not a wise business practice but legally there is nothing you could do about it.

theatrus:
If you want commercial support, I would suggest CodeSourcery. Source code availability (very important factor for sustaining software), plus good support.

Apple depends on GCC to make their world spin (though they are transitioning to LLVM, very exciting). This includes ARM, for the iPhone/iPod Touch. There is really nothing wrong with the GCC ARM backend.

As for IDEs? All pre-canned IDEs are in my opinion too limiting . As your product grows, your tool suite needs to adapt with it. I’m a fan of the modular UNIX philosphy. GCC, binutils, gdb, emacs, make files, shell scripts, custom automated test harnesses (which automate unit tests on actual devices), all easy to integrate and adapt.

Good point. GCC is also available packaged with commercial support, and it is surely not only a compiler for students that can't afford the commercial ones.

I once worked on military systems. The software engineers on a big project I worked on found that the (very expensive) compiler that they were supposed to use was so full of bugs that it was unusable, so they switched to gcc and didn’t have too many problems using that. They didn’t tell management what they had done; my boss was horrified when he found out but it was too late to do anything about it.

Leon

leon_heller:
The software engineers on a big project I worked on found that the (very expensive) compiler that they were supposed to use was so full of bugs that it was unusable,

bad apples always exist and the commercial world is littered with failed companies, big and small. and I am sure the same holds true for freeware world too.

however it would be interesting to compare your chance of running into a buggy commercial product vs. a buggy freeware.

They didn’t tell management what they had done

I would have fired anyone who did that to me, on the spot. it is a discipline, integrity and management issue. we work in teams and as such, we have to communicate with others, and a person who doesn’t communicate and makes decisions he is not empowered to make, a decision that may have profound impact on other teams he doesn’t see / know, simply has no place on any team that hopes to be successful.

inventore123:
Good point. GCC is also available packaged with commercial support, and it is surely not only a compiler for students that can’t afford the commercial ones.

Does that commercial support extend to supplying bug-fixes or is it just assistance in identifying bugs?

Although many compilers are out of the reach of the budget of the average student, that doesn’t apply to all systems. e.g. with an Oberon-07 compiler the unlimited Standard Edition of our development system, Armaide, is only $US95. Even if that is out of the reach of some, the limitations of the free evaluation Edition (with no time limits) should be generous enough to allow basic student experiments to be performed.

Rowley will sort out bugs in their gcc implementation.

Leon

leon_heller:
Rowley will sort out bugs in their gcc implementation.

That is certainly a point in their favour. I'd be much more optimistic about getting a problem I encountered fixed if I was a paying customer of theirs rather than being just another anonymous GCC user.

Rowley also seem to have a flexible pricing structure to suit a wide range of possible users. For anybody who wants to develop in C, they certainly sound worth investigating. I’m unashamedly biased, but in my book, their previous experience with Modula-2 compilers counts for a lot.

Rowley and CodeSourcery actually maintain their GCC derivitives and will fix bugs for you