Thank you for your purchase!
===========================

Thank you in case you wish to purchase the source to NativeXml. Your support is appreciated. You can purchase "NativeXml" here:

http://www.simdesign.nl/xml.html

On this webpage you can select various purchase options and payment processors.


About NativeXml.pas
========================

This is a small-footprint native Delphi implementation to read and write XML documents. It provides a fully object-oriented approach to working with XML files, with clearly defined and Delphi-focused properties, events and methods.

You can use this code to read and write XML documents from/to files, streams or strings. The load routine generates events that can be used to display load progress on the fly.

Author: Nils Haeck M.Sc. (SimDesign B.V.)

Installation
============

Simply run the installer. It will copy the files to your harddisk in a location you specify. No actual programs are installed or registered.

You can uninstall all files by clicking UNINS000.EXE in the root or through Start > Control panel > Add/Remove software > NativeXML [Remove]

If you want to use NativeXml in your project, follow these two simple steps:

1) Copy the NativeXml.pas file from the \Source directory into your project folder.

2) Include the clause "uses NativeXml" in your unit.

If you want to use NativeXml in all your projects, you can also add the NativeXml folder to your library path.


Compatibility
=============
Full source version is compatible with all flavours of Delphi2 through Delphi 2010 (so also the personal).


Help
====

You can use the included NativeXml.chm help file and the examples to get started.


Why "open-source" and what about support?
========================================

Some of SimDesign's customers have stated their concern about making certain software products, like NativeXml, "open source".

Lets first say that "I Am Not an Anal Lawyer" (IANAL, grin), and more so do not want to be one, so the less words about legal stuff in the licenses, the better. So for the first open-sourced project, NativeXml, I have opted for the simplest 2-clause license yet in the wild, the simplified NetBSD license. The text of this license is as follows:


"Copyright 2003-2010 SimDesign BV. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY SIMDESIGN BV "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SIMDESIGN BV OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."


Some of the misconceptions about Open Source:

- "Whenever I use this license this means I am obliged to open-source my own work as well". 

Even though the original GPL had such clauses, anyone can read that the current license terms above are not so restrictive. So anyone can redistribute it, but also use my software in closed binaries and *not* distribute it, just provided that it is clear that I am the copyright holder in one way or another.

- "Whenever the software is open-sourced, it is dumped in the public domain and the original author will no longer care for it, so that the project will die a slow death from neglect". 

First of all, the copyright above is clear. Nothing is dumped into the public domain, and naturally I want credit from others, by the copyright notice, for all the hard work that I fabricated. And in other cases, it was no hard work at all, just a bright idea or strike of luck, that made a certain concept work. In any way, it is a matter of pride, and the simple recognition of copyright is the least that a customer can do in such cases.

Next comes the matter of neglect. The contrary issue is "support". The license above specifically does not mention support, simply because "support" is a separate issue from the license. I have always tried to provide the best support as possible within the confines of what I am able to do, in usually a limited time. Since my brain infarct, this will remain so, but the confines are more stringent; I simply cannot answer each email anymore, so I will try to provide updates, but at my own pace. This can mean that some projects will seem to be neglected for months, however, I am still very much alive, I just am not fixing the bugs at wish by some customers, but at my own pace.

Even though developers can currently freely download some of these open-source projects, this does specifically not mean that they are entitled to support. After all, I try to be there for my paying customers, so any attention from me that there is, goes to them. Also, even whenever you have downloaded such project free of charge, just evaluate for yourself how much effort such software project has saved you, and what benefit it has brought. If this is well worth the purchase price, just consider purchasing these software projects. First of all, this will keep the incentive for me (and other developers like me) to keep working on it, and second, it will provide an opportunity to get support.

- "Why don't you keep your income flowing by selling your software projects, either compiled units or source code?"

As for the compiled software, I have found that it is a pain to support all zillion compiler versions. With sources, the code is much more manageable. So I have already more or less banned "compiled DCU versions", favouring just the source code. Where it comes to source code projects like NativeXml, the popularity is of course pleasing for me, but supporting the individual requests has been putting quite a strain on my time. Now I aim to do more batch-like support by informing customers just in the forum, and picking out a few interesting emails as example. 

That said, I can imagine that some customers would like to have paid support by the hour, at least through email, so that problems for some of their projects get fixed in a timely manner. Even while I not always have time/resources to give individual support, this can be done perhaps, by support providers, people who are willing to provide support on an hourly basis. I do not want to sit inbetween the support providers and customers, but my idea is that a fair price for support is at least Eur 50 to Eur 150 per hour, depending a bit on who is who. Customers should first realise this before asking for support. A new forum for "support wanted/offered" can be quickly realised, so people can get into contact.

As for that forum for "support wanted/offered", naturally that is a feature only for registered customers. Non-paying users are simply not allowed to that forum, so any posts from them in that forum will be removed. But frankly, I have never seen such practices, or even close to it, in the past. That is why I am also confident that good software sells itself, since people will love the "wow" factor and they will even feel rather guilty when not contributing it by a purchase.

This answers the question about "keeping income alive", and I am willing to participate in the open-source experiment. For me, the non-private software projects have never been the main source of income, just a mere nice extra for "beer money" (well, quite a few beers at times hehe). But purchases *are* a nice incentive, no matter what, so as a customer you can do your own thing so that developers will see that it matters. However, most important of all, is seeing the admiration from customers .. I guess that is pretty universal :) Just a "wow" is good, I dont mind that customers who cannot afford it, will not pay for my software, in such case.

Happy coding!

Nils Haeck

