Freda is a free program for reading electronic books (ebooks) on Windows Phones.
Features:
You can download Freda from the Windows Phone Marketplace.
Note: there is an earlier version of Freda for Windows Mobile 6.x (and 5, 2003 and WinCE). See here.
When you first start Freda, you will see a list of classic books. To open one of them, touch the book title. You will see a screen with 'loading' message and a spinning image. When the book is downloaded and ready for you to start reading, the first page of the book will appear. Normally, this will be a 'title page', containing the book title and/or the picture from the cover. You will see a page number indicator, "-/-" at the bottom of the page (the -/- symbols mean that Freda has not finished scanning though the book, and so it doesn't yet know how many pages there are). Coloured moving dots will appear at the bottom of the screen as long as the scanning process continues (maybe for several minutes), but you can begin reading right away - tap the bottom of the page to begin reading.
For more information, read on ...
There are two main screens in Freda - the 'Chooser' screen which you use to select a book, and the 'Reader' screen that you use to read it. Within each of these screen, you have a selection of pages for accessing the different features.
The Chooser screen consists of a list of different places where you can find books. When you open a book, Freda will switch to the Reader screen.
Whatever screen you are on, the hardware 'Back' button will always take you back to the previous screen.
Along the bottom of the Chooser screen, you have menu buttons:
Book: return to the Reader screen, and whatever book you are reading at the moment
Support: view links and options to help if you encounter problems with the program
Share: tell your friends about whatever book you are reading at the moment
Settings: customise Freda's appearance and behaviourThe chooser screen consists of a vertical list of book sources. To the left of each book source is a '+/-' button which you can use to expand or collapse that book source (double-tapping the source name also does this).
When a book source is expanded, a 'maximise' icon appears to its right; you can tap this icon to expand the source so that it will fill the whole screen (to return, tap this icon again, or use the 'back' button).
By long-tapping (tap-and-hold) on a book source, you can access additional options for adding, removing or modifying book sources, changing their order on the screen, setting up username/password (for sources that require them) and hiding/un-hiding book sources.
When you first run Freda, you will see book sources for Feedbooks, Calibre (see here for details of how to set this up), Gutenberg and Epub Books. Further 'hidden' sources are provided; you can see these by using the 'unhide' menu option.
The chooser screen shows all its book sources on a grey background. If you want a slightly more exotic background, you can change it using the Settings screen (this only works if the phone's theme is set to 'dark'; if the theme is 'light' you will always get a white background).
The first book source is always the bookshelf; you cannot hide this book source and you cannot move it down the list.
The bookshelf shows a list of recently-opened books (when you first run Freda, it is pre-populated with a list of classics from Feedbooks). To open a book, tap on the book tile.
You can access a menu of additional options by long-tapping (tap-and-hold) on a book tile. The 'Info' option will show you information about the book, the 'Delete' option will remove the book from your phone, and the 'pin' option will keep books in local storage on your phone. Generally, Freda downloads books when you ask to start reading them, and when it needs to free up space, it will delete the least-recently-used book from its local memory, so that to read it you will need to download it again. If you 'pin' a book, that means that Freda will keep it in local memory forever (or until you 'un-pin' it) - so you can be sure that a 'pinned' book will always be available for reading, even when you do not have network access. If you find that Freda will not allow you to 'pin' a book, it probably means that the book has not yet been downloaded; to fix this problem, just tap on the book to open it, and it will download.
These screens allow you to find and download books from popular on-line book catalogs, such as Feedbooks, Smashwords and Gutenberg (and your own Calibre catalog, if you have set this up). The screen shows a combination of 'catalog' links (which look like folders) and 'book' links (which look like thumbnail images, showing book covers or a book icon). Tapping a 'catalog link' button takes you to another place in the catalog (for example, 'Recent' may take you to a list of recently-added books). Tapping a 'book link' tile will open a book from the catalog.
Above the list of links, you will see five buttons, for moving around within the catalog:
Back: goes back to the last catalog page you were looking at
Previous: moves to the previous catalog page in a list
Home: moves to the starting page (root) in the catalog
Next: moves to the previous catalog page in a list
Refesh: refresh the current folder contents
Search: search the current catalogDepending where you are in the catalog, some of these buttons may be absent (for instance, the 'next' and 'previous' pages will only appear if you are looking at a multi-page list, such as 'all authors beginning 'A''). The 'search' button will be available only if the 'search string' has been set up for this catalog. To check this, long-tap the book source name and select the 'edit' option.
An OPDS catalog may require a user name and password. To set this up, long-tap on the source name and select the 'set password' option. The 'authentication' screen will be displayed. There are two types of authentication that these sources may use: either 'http' authentication or 'cookie' authentication. Most web-sites use 'cookie' authentication, so if unsure, try this one first. But note that Calibre uses 'http' authentication. On the 'authentication' screen, pick the appropriate authentication type, and then:
Some sources (to be technical, those using https connections, and a certificate that has not been signed by a certification authority trusted by Microsoft) may fail to authenticate properly. You are likely to encounter this problem with Feedbooks, for example. The solution is to install that site's root certificate in your phone's store of trusted certificates. Instructions for how to do this for Feedbooks are here.
If you have a DropBox account, Freda can connect to it using this type of book source. Use the '...' menu option to create a DropBox book source. Enter a name for the source ('my dropbox' for instance) and the name of the folder where you want to start (if unsure, use '/', or just leave the value blank). Tap the (✓) ('OK') button to create the source. Freda will then ask you to provide an email address and password, so Freda can set up the link to your DropBox. If you want to change these in the future, you can access them by long-tapping on the source name and selecting the 'set password' option.
The screen shows a combination of 'folder' links (which look like folders) and 'book' links (which look like books). Tapping a 'folder link' button takes you to a subfolder in your DropBox store. Tapping a 'book link' tile will open a book file.
Below the list of links, you will see three buttons:
Back: goes back to the last folder you were looking at
Home: moves to the starting folder (root).
Refesh: refresh the current folder contents
To access a website for downloading books, enter the web address into the text box, and press the [↓] button. The website contents will be displayed in the window; you can now navigate to further internet locations by tapping on links within the window.
When you tap on a link to a book (a file name ending in TXT or EPUB) Freda will download and open it. Book links that don't end in TXT or EPUB will confuse Freda (the book content may load into the web browser window instead of opening in the book reader). To download such books, you should move the 'toggle' control below the web browser window to the 'Download' position, and then click on the link that you want to download from.
A website may require a user name and password. To set this up, long-tap on the source name and select the 'set password' option. The 'authentication' screen will be displayed. There are two types of authentication that these sources may use: either 'http' authentication or 'cookie' authentication. Most web-sites use 'cookie' authentication, so if unsure, try this one first. On the 'authentication' screen, pick the appropriate authentication type, and then:
Some websites (to be technical, those using https connections, and a certificate that has not been signed by a certification authority trusted by Microsoft) may fail to authenticate properly. The solution is to install that site's root certificate in your phone's store of trusted certificates. Instructions for how to do this are here.
The Reader screen shows the text of the book you are reading. While a book is opening, it will show a spinning cover image picture and a 'loading' message; as soon as Freda has some text to show you, the text will come up on screen. In the background, Freda will continue to download and prepare other sections of the book. EPUB books are broken into chapters, and Freda takes advantage of this when loading books, by quickly loading whichever chapter you need to see, and putting it on-screen just as soon as it is ready. The program will carry on with loading all the other chapters as a 'background' task, but you can begin reading in the meantime. Until book loading is complete, you may find that screen movements are jerky and not very responsive, however.
To page forward or back, tap at the edge of the screen or slide the screen up and down. To access all the other functions of the Reader screen, long-tap on the central areas of the screen. These user interface gestures are customisable (see Settings).
A long-tap while reading book text will display the Reader 'control' screen.
Tap the '...' indicator in the menu button area to display the options:
The controls screen shows:
Along the bottom of the screen, you have menu buttons:
Books: return to the Chooser screen
Support: view links and options to help if you encounter problems with the program
Share: tell your friends about the current book
Settings: customise Freda's appearance and behaviour
This screen shows the table of contents of the current book. To move to a particular place in the book, tap the relevant point in the table of contents. If no table of contents is shown, it may be that the book does not provide one (HTML books will never have a table of contents, and some EPUB books also lack tables of contents).
This screen shows a list of all the bookmarks (annotations) in the current book. To move to a particular bookmark, tap the relevant item.
The Settings screen allows you to customise various program settings, controlling appearance and behaviour of the program.
The basic settings screen shows buttons for some standard colour schemes, a font selector control and [+] and [-] buttons for increasing/decreasing text size. There is a text block (containg the 'lorem ipsum' text) so you can see the settings you have chosen. To apply your chosen settings, tap the (✓) ('OK') button; to discard them, tap the (×) ('cancel') button or the 'Back' hardware button on your phone.
To access the full range of program settings, swipe across to the 'advanced' settings screen. To modify a setting on this screen, tap on the setting text; this will display some explanatory text and a control that you can use to modify the setting. Modified settings are shown with a '*' next to them. Once you have made all the changes you wish, you can return to the previous screen by using the (✓) ('OK') button. Or to discard your changes, use the (×) ('cancel') button or the hardware 'Back' button.
Text Appearance
These settings are used to modify the appearance of text on the screen.
Ink (Foreground) Foreground colour for text.
Paper (Background) Background colour for text.
Link ink Foreground colour for link (href) text.
Font The name of the font that Freda will use for book text.
Font size The font size that Freda will use for regular text (large text will be displayed 3 points larger).
Orientation The orientation (portrait or landscape) that is used for displaying book text. There is no setting for 'choose automatically depending on how the phone is held' because in practice I found this setting too annoying.
Controls
Tap screen Controls the effect of a tap gesture (in the main page area). For each gesture, available behaviours will be some or all of:
Tap edge Controls the effect of a tap gesture (at the edge of the page area).
Page Edge For the 'Tap Edge' gesture setting, what % of page is considered to be 'edge'.
Page Change Motion Controls the appearance of a page turn; you can set it to 'spin', 'slide' or 'none'.
Reverse page change direction Controls the direction in which the page will turn in response to a screen edge tap.
Layout
Line spacing The spacing between lines. 1 gives the usual appearance.
Show Page Number If set, the page number will be shown at the foot of the page.
Show Page Number as Ch + Pg If set, the page number will be given as a chapter number, then a page-number-within-chapter. Otherwise, the page number within the book will be shown.
Border The amount of border (in pixels) area that will be left blank around the edge of the page.
Hyphenation If set, long words will be broken up by hyphens, so they appear across multiple lines when this is necessary for the page layout. If not set, words will never be broken up by hyphens. Note: when upgrading from an earlier version of Freda, you may find that this setting does not work on books that are already in the bookshelf. If you want it to work for such books, use the 'delete temporary files' button on the 'support' tab of the chooser screen.
Force alignment If to any value but 'none', this setting will force the all text to be aligned as indicated, regardless of the formatting instructions provided by the book itself.
Force indent If set, the first line of each paragraph will be indented, regardless of the formatting instructions provided by the book itself.
Line break after para If set, a line break will be added after every after paragraph.
Remove blank lines If set, Freda will suppress consecutive blank lines in the book (any number of blank lines will be shown as a single blank line). If you've set this option and are still seeing big vertical gaps, try reducing the 'Max Margin' setting, as the gap may be a margin rather than a blank line.
Max Margin Sets a scaling factor that will make margin sizes smaller or larger. Note, it won't create a margin for you, if the book itself doesn't specify a margin in its style sheet(s).
Smart para breaks in TXT files If not set, Freda will assume that every line in a TXT file is meant to be a separate paragraph; if set, Freda will concatenate lines that (based on the absence of '.' and suchlike punctuation marks) seem to belong in a single sentence. This option is not available in the Chinese version of Freda, because it doesn't work well with Chinese punctuation.
Advanced
Bookshelf size The number of books in the bookshelf. Once you have opened more than this number of books, the oldest one will be removed from the shelf.
Encoding The character encoding used for reading the book file. Try changing this value if some characters (notably quote marks) are wrongly displayed in a book.
Override encoding If true, the 'Encoding' setting will always be used, regardless of what is specified in the book file. If false, the Encoding setting will be used only when the book file specifies no encoding.
Max rulesets in stylesheet Some books contain a large number of spurious style definitions. To improve performance, you can tell Freda to ignore these - a zero value indicates that all definitions will be loaded; any other value specified how many to load, before ignoring all the rest
Prompt before following links If 'yes', the program will ask you to confirm before following links (hrefs) in a book.
Disable idle detection If 'no', the screen will lock after a period of no activity (note: you may need to restart the program to get this setting to take effect).
Use location info If 'yes', then program will make use of your location information, so that the on-screen advertising can display ads that are relevant to your current location.
Background for sources list Defines the background texture for the list of book sources.
The Settings screen also provides a 'presets' page, which you can use to load and apply 'presets' (a preset is a named set of new settings). The 'Presets' page shows you a list of presets; tap on one of them to apply it. If you want to add a new preset, scroll down to the bottom of the presets list, type in the new preset name and tap the [add favourite] button.
Next to each preset is a 'save' button; tap this button to save the current settings to that named preset.
You also need to specify what particular settings should be included in the preset that you are saving. As a rule, you don't want to include every setting in a preset: I have some presets that relate mainly to layout, where I want different layout setups for different kinds of book (one for TXTs, another for Feedbooks books, another for Calibre-converted PDFs, another for Calibre-converted HTML, ...) but I also have different settings for colour/style (one for night-time, another for reading on the train, another for sunlight) and different control setups (one for standing in a train, another for lying in bed). If you put all your settings into every preset, you will keep modifying settings that you didn't want to change.
For all but the first four presets, there is also a 'delete' button, which you can use to get rid of the indicated preset.
Freda is still work in progress (but hey, you get what you pay for ... and Freda is free!). If you are experiencing problems with the program, you can use this screen to re-initialise the program in various ways, or to send us a support request by email.
Margin and Layout Problems
Freda tries to interpret the margin and indent directives in a book in a reasonable way, but for some books you may have issues such as:
Funny Characters appearing in the text (TXT books)
A TXT file contains a stream of bytes. Any program that wants to turn those bytes into text has to make some assumption about how the author of those bytes expected them to be converted into text - because the file just contains the bytes, in doesn't include any hints about what the bytes actually mean. In technical terms, the program (e.g. Freda) needs to decide what Encoding the author used, when converting their text into bytes. To learn all about encodings, look the subject up on Wikipedia ('Unicode' is a reasonable place to start).
If you don't want to make a lifetime's study of the subject, all you really need to know is: If your TXT book appears to include streams of weird characters, particularly in places where you expected to see quote-marks, dashes or accented characters, it's happening because Freda guessed what encoding was used by the file's author, and Freda guessed wrong. You can tell Freda what encoding it should be using for a particular book by using the Settings screen.
Funny Characters appearing in the text (EPUB and HTML books)
Unlike TXT files, EPUB and HTML files contain information to say how the file's bytes are intended to encode characters.
If your EPUB or HTML document is displayed with streams of weird characters, particularly in places where you expected to see quote-marks, dashes or accented characters, it's happening because Freda was unable to understand the encoding information suppplied by the file. That could happen, for example, because the file was badly formatted (a lot of Gutenberg EPUBs have scrambled, unintelligible encoding info), or because the encoding is an unusual one. You can tell Freda what encoding it should be using for a particular book by using the Settings screen. Note that you may need to change the setting 'Override Encoding' to true, to tell Freda that it must use your selected encoding, regardless of the encoding specified in the book itself.
DRM-Protected Books
Books that you have bought and downloaded from such sites as Barnes and Noble and WHSmith may well be DRM-protected (encrypted). This is very likely to be the case if you have downloaded them using Adobe Digital Editions; such books are typically protected using the ADEPT copy-protection mechanism. Freda cannot read DRM-protected books. If you try to read a DRM-protected book using Freda, you will generally see just blank pages. A careful search of the internet (or, to be honest, even a rather perfunctory one) will tell you how to remove ADEPT DRM-protection from EPUB books - but do note that the procedure may be illegal where you live. I cannot recommend that you use it.
Untrusted web-sites and https
HTTPS connectivity to websites and OPDS sources may fail if the site's certification authority is not trusted by Microsoft (i.e. its root certificate is not in the phone's certificate store). To fix this problem, install the necessary certificate. For Feedbooks, you can do this by navigating to http://www.startssl.com/certs/ca.cer in Internet Explorer on the phone, then following the instructions to install the certificate.
Formatting
For performance reasons, and in recognition of the fact that Windows Phone screens are small, Freda does not implement rich formatting features. Text alignment (left/right/centred/justified) is supported, as are the text styles regular, bold, italic and large. There is also limited support for indenting, line/page-breaks, and left, right, top and bottom margins around elements. More exotic formatting options (drop caps, 'code' and 'pre' tags, flow round images, boxes, custom colours and embedded fonts ...) are not supported. If there is some formatting feature that you particularly desire, please email a request and I will add it to the list for future development.
CSS Style Sheets
Freda's handling of CSS style sheets is limited in two ways:
1) In-line styles are only partially interpreted.
2) Selectors cannot be concatenated (so Freda will not understand the syntax "div.foo p.bar {...}", intended to apply the properties {...} to any p.bar elements which have a div.foo ancestor). Concatenated selectors will be ignored. Freda does understand compound selectors like div.foo or p#bar.
HTML Books
HTML books are considered to consist of only a single file. If you have a set of HTML files that constitute separate volumes of a single work, Freda will be able to open them individually, but it will not understand references/links between them. If linkages between HTML files are important for you, you should build an EPUB file out of your collection of HTML files.
Freda is a work in progress, and if you should happen to encounter any problems, I will be pleased to fix them.
Bug Reports are best emailed to me at support@turnipsoft.co.uk (using the 'email for support' button')
Please give as much detail as you can about any message that Freda displayed when the problem happened.
Support Questions that the manual does not satisfactorily address can be emailed to me; I will answer them, and add to the manual as necessary.
The program uses the Majestic-12 HTMLParser, SharpBox and SharpZipLib libraries, which are licensed on terms permitting redistribution for commercial and non-commercial purposes. Freda also includes (in the source file CSSParser.cs) code adapted from Bonesoft's 'Simple CSS Parser' sample. This source code is also licensed on terms permitting its redistribution for commercial and non-commercial purposes.
Freda: the free ebook reader for Windows Phone
Copyright © 2009-11 Turnipsoft freda@turnipsoft.co.uk
This license governs use of Freda. If you use Freda you accept this license. If you do not accept the license, do not use Freda.
1. Definitions
The terms "reproduce," "reproduction" and "distribution" have the same meaning here as under U.S. copyright law.
"You" means the licensee of the software.
"Your company" means the company you worked for when you downloaded the software.
"Internal use" means use within your company and specifically excludes the right to distribute the software outside of your company.
"Licensed patents" means any Turnipsoft patent claims which read directly on the software as distributed under this license.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, Turnipsoft grants you a non-transferable, non-exclusive, worldwide, royalty-free copyright license to reproduce the software and reference it for internal use.
(B) Patent Grant- Subject to the terms of this license, Turnipsoft grants you a non-transferable, non-exclusive, worldwide, royalty-free patent license under licensed patents to use the software within your company.
3. Limitations
(A) No Trademark License- This license does not grant you any rights to use Turnipsoft's name, logo, or trademarks.
(B) If you begin patent litigation against Turnipsoft over patents that you think may apply to the software (including a cross-claim or counterclaim in a lawsuit), your license to the software ends automatically.
(C) The software is licensed "as-is." You bear the risk of using it. Turnipsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, Turnipsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
This program uses the Majestic-12 HTMLParser library http://www.majestic12.co.uk/projects/html_parser.php, which is available under the BSD licence, as follows:
Copyright © Alex Chudnovsky, Majestic-12 Ltd (UK). 2005+ All rights reserved
Web: http://www.majestic12.co.uk
E-mail: alexc@majestic12.co.uk
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* 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.
* Neither the name of the Majestic-12 nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT OWNER 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.
This program uses the SharpBox library http://sharpbox.codeplex.com, which is available under the MIT licence, as follows:
Copyright © Dirk Eisenberg, Yury Averkiev, Renald Dubus, Jay Ongg . 2010
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This program incorporates, in the source file CSSParser.cs, source code taken from BoneSoft's Simple CSS Parser sample, which is released under the Code Project Open Licence 1.02:
Code Project Open License 1.02This License governs Your use of the Work. This License is intended to allow developers to use the Source Code and Executable Files provided as part of the Work in any application in any form.
The main points subject to the terms of the License are:
- Source Code and Executable Files can be used in commercial applications;
- Source Code and Executable Files can be redistributed; and
- Source Code can be modified to create derivative works.
- No claim of suitability, guarantee, or any warranty whatsoever is provided. The software is provided "as-is".
- The Article accompanying the Work may not be distributed or republished without the Author's consent
This License is entered between You, the individual or other entity reading or otherwise making use of the Work licensed pursuant to this License and the individual or other entity which offers the Work under the terms of this License ("Author").
LicenseTHE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CODE PROJECT OPEN LICENSE ("LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HEREIN, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE AUTHOR GRANTS YOU THE RIGHTS CONTAINED HEREIN IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO ACCEPT AND BE BOUND BY THE TERMS OF THIS LICENSE, YOU CANNOT MAKE ANY USE OF THE WORK.
Definitions.
- "Articles" means, collectively, all articles written by Author which describes how the Source Code and Executable Files for the Work may be used by a user.
- "Author" means the individual or entity that offers the Work under the terms of this License.
- "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works.
- "Executable Files" refer to the executables, binary files, configuration and any required data files included in the Work.
- "Publisher" means the provider of the website, magazine, CD-ROM, DVD or other medium from or by which the Work is obtained by You.
- "Source Code" refers to the collection of source code and configuration files used to create the Executable Files.
- "Standard Version" refers to such a Work if it has not been modified, or has been modified in accordance with the consent of the Author, such consent being in the full discretion of the Author.
- "Work" refers to the collection of files distributed by the Publisher, including the Source Code, Executable Files, binaries, data files, documentation, whitepapers and the Articles.
- "You" is you, an individual or entity wishing to use the Work and exercise your rights under this License.
Fair Use/Fair Use Rights. Nothing in this License is intended to reduce, limit, or restrict any rights arising from fair use, fair dealing, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
License Grant. Subject to the terms and conditions of this License, the Author hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
- You may use the standard version of the Source Code or Executable Files in Your own applications.
- You may apply bug fixes, portability fixes and other modifications obtained from the Public Domain or from the Author. A Work modified in such a way shall still be considered the standard version and will be subject to this License.
- You may otherwise modify Your copy of this Work (excluding the Articles) in any way to create a Derivative Work, provided that You insert a prominent notice in each changed file stating how, when and where You changed that file.
- You may distribute the standard version of the Executable Files and Source Code or Derivative Work in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution.
- The Articles discussing the Work published in any form by the author may not be distributed or republished without the Author's consent. The author retains copyright to any such Articles. You may use the Executable Files and Source Code pursuant to this License but you may not repost or republish or otherwise distribute or make available the Articles, without the prior written consent of the Author.
Any subroutines or modules supplied by You and linked into the Source Code or Executable Files this Work shall not be considered part of this Work and will not be subject to the terms of this License.
Patent License. Subject to the terms and conditions of this License, each Author hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, import, and otherwise transfer the Work.
Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
- You agree not to remove any of the original copyright, patent, trademark, and attribution notices and associated disclaimers that may appear in the Source Code or Executable Files.
- You agree not to advertise or in any way imply that this Work is a product of Your own.
- The name of the Author may not be used to endorse or promote products derived from the Work without the prior written consent of the Author.
- You agree not to sell, lease, or rent any part of the Work. This does not restrict you from including the Work or any part of the Work inside a larger software distribution that itself is being sold. The Work by itself, though, cannot be sold, leased or rented.
- You may distribute the Executable Files and Source Code only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute the Executable Files or Source Code with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License.
- You agree not to use the Work for illegal, immoral or improper purposes, or on pages containing illegal, immoral or improper material. The Work is subject to applicable export laws. You agree to comply with all such laws and regulations that may apply to the Work after Your receipt of the Work.
Representations, Warranties and Disclaimer. THIS WORK IS PROVIDED "AS IS", "WHERE IS" AND "AS AVAILABLE", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OR CONDITIONS OR GUARANTEES. YOU, THE USER, ASSUME ALL RISK IN ITS USE, INCLUDING COPYRIGHT INFRINGEMENT, PATENT INFRINGEMENT, SUITABILITY, ETC. AUTHOR EXPRESSLY DISCLAIMS ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES OR CONDITIONS, INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF MERCHANTABILITY, MERCHANTABLE QUALITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT, OR THAT THE WORK (OR ANY PORTION THEREOF) IS CORRECT, USEFUL, BUG-FREE OR FREE OF VIRUSES. YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE WORK OR DERIVATIVE WORKS.
Indemnity. You agree to defend, indemnify and hold harmless the Author and the Publisher from and against any claims, suits, losses, damages, liabilities, costs, and expenses (including reasonable legal or attorneys' fees) resulting from or relating to any use of the Work by You.Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL THE AUTHOR OR THE PUBLISHER BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK OR OTHERWISE, EVEN IF THE AUTHOR OR THE PUBLISHER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Termination.
- This License and the rights granted hereunder will terminate automatically upon any breach by You of any term of this License. Individuals or entities who have received Derivative Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 6, 7, 8, 9, 10 and 11 will survive any termination of this License.
- If You bring a copyright, trademark, patent or any other infringement claim against any contributor over infringements You claim are made by the Work, your License from such contributor to the Work ends automatically.
- Subject to the above terms and conditions, this License is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, the Author reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
Publisher. The parties hereby confirm that the Publisher shall not, under any circumstances, be responsible for and shall not have any liability in respect of the subject matter of this License. The Publisher makes no warranty whatsoever in connection with the Work and shall not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. The Publisher reserves the right to cease making the Work available to You at any time without notice
Miscellaneous
- This License shall be governed by the laws of the location of the head office of the Author or if the Author is an individual, the laws of location of the principal place of residence of the Author.
- If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this License, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
- No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
- This License constitutes the entire agreement between the parties with respect to the Work licensed herein. There are no understandings, agreements or representations with respect to the Work not specified herein. The Author shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Author and You.
This program uses the SharpZipLib library http://www.icsharpcode.net/OpenSource/SharpZipLib/, which is available under the GPL licence, with the following exception:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.