198 Commits

Author SHA1 Message Date
6bbb8e9ea6 stable version 0.8 2019-11-15 11:16:48 +01:00
27e20d2e07 add advent support from 1. Advent to 6th january 2019-11-11 19:16:47 +01:00
d83beb1a2a add set sunrise/sunset Status add boot time 2019-11-11 09:32:28 +01:00
e1c33c76f4 fix logic bug in brightness Fn 2019-11-09 09:08:29 +01:00
a55566a8a5 add Winrec Reading for Attribut ASC_WindowRec 2019-11-08 09:31:41 +01:00
ecf1935164 Merge branch 'master' into devel
little bugfix
2019-11-07 19:29:54 +01:00
aeec2d88f8 little bugfix 2019-11-07 19:28:01 +01:00
47e64de57d code style 2019-11-07 14:06:47 +01:00
2f41ead59d Merge-Konflikt 2019-11-07 13:51:50 +01:00
5deccc4f58 add true false Regex for WinRec Fn 2019-11-07 13:48:56 +01:00
52f17be042 fix PrivacyBrightnessDownVal bug 2019-11-05 16:40:54 +01:00
ebbb84494c add Commandref for ASC_ExternalTrigger 2019-11-05 14:00:40 +01:00
8bd2ad315c change Attribut ASC_ExternalTriggerDevice to ASC_ExternalTrigger 2019-11-05 13:44:40 +01:00
804bfbf80b bugfix windw open at privacy up 2019-11-05 13:22:03 +01:00
be8fa1135e change winrec Fn then PrivacyStatus gleich zwei 2019-11-05 10:49:36 +01:00
3dcce78568 fix global symbol error 2019-11-04 22:37:12 +01:00
2c2d420251 fix shading out drive after privacy down 2019-11-04 22:14:56 +01:00
3121e88fb2 fix little bug 2019-11-04 14:39:55 +01:00
9f488925c1 fix window close fn then Mode_Up off 2019-11-04 08:19:37 +01:00
81f610374a add ExternalTriggerDevice Fn 2019-11-04 08:09:46 +01:00
36f0f45fb4 change code in loop for fix carsten-bug 2019-11-02 09:16:32 +01:00
ce32256130 add logic for window open in provacy mode 2019-11-01 11:18:53 +01:00
2b5bc24fd2 add commandref for privacy drive 2019-11-01 07:39:00 +01:00
f11e8d88e1 fix privacy time calculation between privacy and last drive 2019-10-31 16:35:11 +01:00
e2d49c7c02 add privacy night close brightness with timer 2019-10-31 07:17:04 +01:00
39edc75094 fix privacy Up Conditions 2019-10-30 15:07:23 +01:00
4ae99c00f5 finish change brightnessUp with time for drive befor last up 2019-10-30 12:43:57 +01:00
6526ad8301 fix privacy drive then brightness 2019-10-29 17:27:31 +01:00
89087dde59 fix privacy val condition 2019-10-29 09:33:55 +01:00
c335249e63 fix privacy drives 2019-10-28 16:34:13 +01:00
14f714943b change ASC_AttrUpdateChanges Logik 2019-10-25 10:47:31 +02:00
c0260bf7e5 code Style 2019-10-25 10:44:35 +02:00
ab5966fc79 add Privacy Mode for Drive Up in the Morning 2019-10-25 10:44:08 +02:00
c5e08affc5 fix ASC_PrivacyDownValue_befor to ASC_PrivacyDownValue_before 2019-10-24 18:27:06 +02:00
63ba3a5997 fix Notify Regex for ASC_BlockingValue_beforDayOpen 2019-10-24 14:07:55 +02:00
a8493a6122 change Attribut ASC_PrivacyDownTime_beforNightClose to ASC_PrivacyDownValue_beforNightClose, fix shutters drive in the morning if residents state absent 2019-10-24 13:53:14 +02:00
443d661416 chage sunrise and sunset drive then residentsabsent and selfdefense on 2019-10-24 10:41:38 +02:00
d4e6a19106 change version 2019-10-07 07:05:15 +02:00
3b5e668544 add condition to attr ASC_autoShuttersControlEvening to window event 2019-10-07 07:02:33 +02:00
bd39083d67 add first code to delay no rain drive 2019-10-04 06:14:54 +02:00
df3006fe25 change ProcessingRoommate condition to ASC_Up/Down 2019-09-24 11:30:50 +02:00
43f9fc9099 add ASC_autoShuttersControl... condition in EventBrightness Fn then drive Morning or Evening 2019-09-24 10:17:50 +02:00
afc094de0b fix bug then ASC_Up and ASC_Down Roommate only 2019-09-23 08:11:00 +02:00
b49eae10e3 move code for better shutter idle detection 2019-09-22 09:07:24 +02:00
e589864a0a fix -residents come home- typo 2019-09-22 08:13:34 +02:00
7009423fa9 fix party mode then close window 2019-09-22 08:10:55 +02:00
7d47fae3a7 Merge branch 'master' into devel
new style
2019-09-20 20:45:44 +02:00
03ffe3e1fd codestyle 2019-09-20 20:45:20 +02:00
d845966849 codestyle 2019-09-20 20:43:44 +02:00
f143f06da4 remove developer version 2019-09-20 20:40:15 +02:00
d113f02250 fix partyMode and window open condition 2019-09-20 20:38:31 +02:00
410ae9ed90 code style 2019-09-20 20:36:47 +02:00
8035f9a5c6 fix partyMode and window open condition 2019-09-20 20:35:48 +02:00
07c3a5d634 change state 'home' to comin home then lastState absent or gone 2019-09-20 14:55:52 +02:00
1a379a3153 fix bug then ASC_Up or ASC_Down ist set roommate and roommate goes home from absent or gone 2019-09-20 14:23:38 +02:00
e76092fce4 add more conditions to delaydrive 2019-09-20 14:03:13 +02:00
ce425067b7 add new attributes to commandref 2019-09-20 13:52:00 +02:00
23b0333c88 bugfix shutter drive detection 2019-09-20 13:39:28 +02:00
9e570fc894 change code in ShuttersCommandSet 2019-09-20 12:55:01 +02:00
74073aea09 add code to detect shutter run, change code in ShuttersCommandSet 2019-09-20 12:53:52 +02:00
440ce81a70 change perlCodeCheck to use AnalyzePerlCommand Fn 2019-09-20 08:34:04 +02:00
deca4e3900 remove Perlcode from Attribut ClosedPos and OpenPos 2019-09-20 06:33:17 +02:00
964a6879d9 change renewSetSunriseSunsetTimer to renewAllTimer and add new setter renewTimer with select shutter 2019-09-19 14:16:04 +02:00
19ff67a6ce change attribut names and parts of code 2019-09-19 13:46:42 +02:00
7f78529215 add support for perl value in attributs 2019-09-18 14:55:17 +02:00
2e92283a65 commandref Anpassungen, Beschreibung der geänderten getter für das ascAPIget 2019-09-17 16:52:19 +02:00
8d1bc376d5 rewrite change Attributs 2019-09-17 16:24:48 +02:00
3d9b4b5ba9 change getOffset.. to getDelay.. 2019-09-17 14:07:26 +02:00
87de357005 change code for getOffset Fn 2019-09-17 14:03:36 +02:00
9629906c3c change developer tree to 0.6.100 for new version 0.8, change Attribut ASC_shutterDriveOffset #18 2019-09-17 13:42:55 +02:00
7e906691db change commandref 2019-09-17 11:37:58 +02:00
123ad8747b change timelimit for restart initial frequence 2019-09-17 09:55:18 +02:00
8d1358ff91 redesign code 2019-09-16 17:56:34 +02:00
0fff9e28a1 add condition to ref ARRAY 2019-09-16 17:54:57 +02:00
9ad485e747 code parts to remove Self_Defense_Exclude Attr 2019-09-16 17:15:02 +02:00
cdb35a98f7 change code to condition in ResidentsFn for absent 2019-09-16 13:57:08 +02:00
cc16dcf0c5 change Residents absent code for window open and place terrace 2019-09-16 13:47:40 +02:00
4c72e24ca7 change selfDefense Code in ResidentsFn 2019-09-16 10:12:28 +02:00
2b5368ef0f add SleepPos to Brightness Fn, change roommate Code for roommate only ASC_Down and ASC_Up 2019-09-16 08:49:58 +02:00
27c75dd3ed add sleep position for night close 2019-09-12 11:28:51 +02:00
222ad38d44 add commandref for new ASC_Up/Down value roommate 2019-09-08 10:17:10 +02:00
aa4092867d code format 2019-09-06 18:40:10 +02:00
31b9bacbe7 add fn to set new values for attributs 2019-09-06 18:36:48 +02:00
20e419de35 Merge branch 'devel' into patch-roommate
merge devel
2019-09-05 08:34:09 +02:00
a1be549c67 fix privacy drive after night drive 2019-09-05 08:33:19 +02:00
50a7b70f6a merge with devel 2019-09-02 14:37:08 +02:00
e3c63a0a93 add Average with three Datasets 2019-09-02 14:34:42 +02:00
0128f07505 add terrace condition in EventWindow Fn 2019-08-26 13:11:35 +02:00
a85b7fcb33 add mor debug output 2019-08-26 10:34:11 +02:00
5504103597 Merge pull request #57 from vuffiraa72/devel
Encode utf8 before writing debug info; fixed typo Rolllo
2019-08-22 23:34:37 +02:00
2b7a388450 Merge remote-tracking branch 'fhem/devel' into devel 2019-08-22 22:13:20 +02:00
697ca99192 Encode utf8 before writing debug info; fixed typo Rolllo 2019-08-22 19:42:46 +02:00
1729e8eba1 add EnOcean TYP support 2019-08-22 17:09:50 +02:00
a158862210 remove winrec check then privacy drive down 2019-08-22 06:19:31 +02:00
75437ab202 fix selfDefense and Residents home coming then is night 2019-08-20 08:52:46 +02:00
3023b3fedf fix #50, fix Roommate absent bug 2019-08-19 10:50:34 +02:00
510a5e40d0 exchange ASC_Down and Up check then condition Roommate and asleep awoken 2019-08-15 09:29:15 +02:00
4437c3ef9f fix bug forum #966778 2019-08-14 10:06:05 +02:00
f60b64ddb6 add more condition for roommate and shading 2019-08-12 19:51:03 +02:00
682486414e fix brightness morning and evening drive 2019-08-10 13:05:33 +02:00
6d7ecf5e7d Merge pull request #52 from vuffiraa72/devel
UTF8 Problem und Initialisierungfehler
2019-08-09 22:04:48 +02:00
f85035dda5 Merge branch 'devel' of https://github.com/fhem/AutoShuttersControl.git into devel 2019-08-09 21:36:06 +02:00
cc0722d35c check if SunriseUnixTime is available before using 2019-08-09 21:19:02 +02:00
1f4156388d use utf8 encoded characters for substitution of German umlauts 2019-08-09 19:31:24 +02:00
d73d3225bb fix #51 2019-08-08 13:33:19 +02:00
77c6350b0b fix ShuttersCommandSet( , , ); 2019-08-05 11:33:21 +02:00
52849d54d3 fix little typo bugs and logical problems 2019-08-05 10:07:44 +02:00
1d78161bb6 add new Dev TYPE in %posSetCmds, remove old commandref text 2019-07-30 08:51:46 +02:00
711f42748b fix little typo 2019-07-29 13:53:18 +02:00
d3bdcc38bb fix bug in getShuttersPosCmdValueNegate 2019-07-29 13:24:49 +02:00
bea678f565 add new Attribut ASC_WindowRec_PosAfterDayClosed for Shutter Pos at day after closed window 2019-07-29 12:55:38 +02:00
d7d4b8b493 fix little commandref typo, expand ascAPIget Fn 2019-07-29 11:28:53 +02:00
f4abf21cb7 fix doubble $ and add condition for brightness morning drive 2019-07-20 15:48:53 +02:00
f4a45fce51 Merge branch 'devel' of https://github.com/fhem/AutoShuttersControl into devel
fix comref
2019-07-16 21:14:30 +02:00
1571caf277 Merge pull request #45 from christoph-morrison/devel
Randomly inserted # deleted
2019-07-16 21:13:44 +02:00
97e4ef8511 Randomly inserted # deleted 2019-07-16 20:56:31 +02:00
e57fc0ac1f fix closed strong tag 2019-07-10 17:06:04 +02:00
ac7d9b212a little bugfix 2019-07-08 09:06:07 +02:00
4c5c24ff79 Merge pull request #44 from christoph-morrison/devel
Fix for missing closed tag for strong
2019-07-08 08:59:52 +02:00
6359a67195 Fix for missing closed tag for strong (https://forum.fhem.de/index.php/topic,99980.msg956169.html#msg956169) 2019-07-08 08:45:48 +02:00
ba1b317799 Merge pull request #1 from fhem/devel
Update
2019-07-08 08:43:21 +02:00
03d0094942 ready to version 0.6.20 2019-07-05 11:18:19 +02:00
6b7db998be change englisch commandref parts, fix little selfdefense bug 2019-07-04 09:48:17 +02:00
fac703e385 code style 2019-07-03 11:54:48 +02:00
81a8ef64ec fix trigger ASC_ShuttersLastDrive Event 2019-07-03 11:54:01 +02:00
b4ab616774 change 'set ASCDEVICE hardLockOut' logic 2019-07-02 09:25:18 +02:00
b76b03794c add getShadingLastStatusTimestamp 2019-07-01 19:36:54 +02:00
7d3a572825 add more condition for shadingManualDriveStatus 2019-07-01 19:32:49 +02:00
8596983126 fix sunrise drive with self defense and open window 2019-07-01 10:14:28 +02:00
89331090ce fix syntax error 2019-06-30 18:53:28 +02:00
94770e7939 more condition for shading manual 2019-06-30 09:18:50 +02:00
1f98f2ceb4 change little Debug output and manual time condition 2019-06-30 08:42:21 +02:00
1c190fb41a add condition for manual drive then shading 2019-06-29 19:39:44 +02:00
b1aacde894 code style 2019-06-28 22:12:44 +02:00
836283e2aa fix defined privacyDownStatus condition 2019-06-28 22:12:10 +02:00
9997f67025 fix undefined then roommate come home 2019-06-28 21:55:28 +02:00
88175a7699 add condition to shading out drive 2019-06-27 15:14:56 +02:00
cca397c338 add getQueryShuttersPos condition to ShadingDrive Fn 2019-06-27 11:18:19 +02:00
91f160fc6a fix little bug, lost IsDay condition for shading drive command 2019-06-27 10:48:06 +02:00
5ff52208f4 add rain and wind protection to delayDrive condition 2019-06-26 14:00:29 +02:00
9a6f1f5036 fix roommate fn then in shading 2019-06-26 13:49:10 +02:00
2d9478be05 fix shading routine 2019-06-26 12:08:02 +02:00
2ce59ed9a5 change shading logic 2019-06-26 11:20:09 +02:00
45b6130bd0 fix little shading bug 2019-06-26 07:24:38 +02:00
31bd4cea24 fix privacy mode bug, add privacy condition to wind and rain unprotection drive 2019-06-26 06:53:32 +02:00
05b46042de fix bugs 2019-06-25 15:28:27 +02:00
64910661a1 fix coming home and self defense 2019-06-25 15:13:35 +02:00
69810dcf70 fix Sunrise drive in shading position 2019-06-25 13:40:09 +02:00
e18d609e5f fix undefined in fhem.pl 2019-06-25 13:19:22 +02:00
6396cd25d5 change ASC_Self_Defense_AbsentDelay to 300 2019-06-25 12:32:25 +02:00
f9f84f07d4 add delay for absent self defense 2019-06-25 12:24:25 +02:00
11d3942916 change prio in RoommateLastStatus, add selfDefense for absent, fix bugs 2019-06-25 09:18:50 +02:00
aa0dc90a2e add shutter tempout complete 2019-06-24 12:57:52 +02:00
d139f8dd40 fix little Shading Bug change from aslee to home and device is inShading 2019-06-24 09:47:36 +02:00
d9858108ed fix syntax error 2019-06-23 18:35:07 +02:00
f3953e00b4 fix little shading bugs 2019-06-23 18:25:17 +02:00
987827a088 fix shutterplace terrace 2019-06-23 16:06:32 +02:00
0ca68a3713 fix hardLock Mode 2019-06-23 15:51:37 +02:00
ff69349147 delete IsDay from ShadingFn 2019-06-23 08:30:12 +02:00
beeef8ccf3 add seperate temp sensor per shutter, #35 2019-06-21 14:20:08 +02:00
465ea6134b fix #37 2019-06-21 09:58:41 +02:00
ed631686d9 change homemmode condition for shading in shadingDrive Fn 2019-06-21 09:19:49 +02:00
4011a56656 change DEV_VERSION Hash 2019-06-20 13:06:01 +02:00
83ec288728 change version for developer branch 2019-06-20 12:13:03 +02:00
9c7fc36737 change Meta Code for version 2019-06-19 21:34:27 +02:00
1589fd3650 change version 2019-06-19 16:56:17 +02:00
94ce9163ec change every package code 2019-06-18 15:26:41 +02:00
9f4eef1442 change version 2019-06-15 09:57:33 +02:00
b39f18c8bb add LICENSE 2019-06-14 14:04:56 +02:00
01be69baec fix commandref typo's 2019-06-14 14:02:05 +02:00
6b9459f267 fix little bug 2019-06-13 17:25:17 +02:00
72633c9fb1 add ShadingLastStatus to compare shading in and shading out 2019-06-13 15:41:03 +02:00
755984fd1d code style 2019-06-13 15:06:30 +02:00
68c15c9f8b change JSON Code 2019-06-11 08:05:54 +02:00
88cfc01271 try to use JSON::MaybeXS wrapper for chance of better performance + open code, thanks to Julian 2019-06-10 21:52:01 +02:00
f061794145 fix _getBrightnessSensor if no sensor device given 2019-06-10 18:42:31 +02:00
0582052748 expand Winrec Event RegEx for open_from_tilted 2019-06-10 17:55:53 +02:00
2943624a60 Merge pull request #33 from christoph-morrison/devel
Minor adjustments in the EN documentation
2019-06-10 16:28:25 +02:00
6a8c0f03b1 change more window contact values 2019-06-10 16:06:17 +02:00
348058782f fix default Max Elevation Value 2019-06-10 15:36:02 +02:00
86bcdb05d0 Just standardised some of the delimiters for attributes with options 2019-06-10 15:31:39 +02:00
2eb113dd6d Fixed speling typo in documentation 2019-06-10 15:16:38 +02:00
f2d7559f1b fix little bug 2019-06-10 14:40:24 +02:00
3ededcb209 add Closed Open to RegEx Windowevent 2019-06-10 14:23:00 +02:00
0aa3b79a4b fix little typo bug in code 2019-06-10 14:03:03 +02:00
62ca4ead34 add ASC_Shading_MinMax_Elevation, fix bug then ASC_autoShuttersControlMarning/Evening set off 2019-06-10 13:41:46 +02:00
207342fc64 fix window status question 2019-06-09 13:45:27 +02:00
fa55f73d8d Merge branch 'devel' into patch-shadingAfterSunsetBrightness
fix negatix table tag out
2019-06-08 14:54:38 +02:00
62f46596c8 Merge branch 'master' into devel
fix negative tagcount for table
2019-06-08 14:53:30 +02:00
f7ef511489 fix negative tagcount for table 2019-06-08 14:52:53 +02:00
ca9c01226d change developer version 2019-06-08 11:19:36 +02:00
f3605737c5 Merge branch 'devel' into patch-shadingAfterSunsetBrightness
weiteführende Entwicklung
2019-06-08 10:56:03 +02:00
435bb4346a Merge branch 'master' into devel
test
2019-06-08 10:55:07 +02:00
797022cb82 Merge branch 'master' into patch-shadingAfterSunsetBrightness 2019-06-08 10:54:36 +02:00
c0e157164d add 2019-06-08 10:54:21 +02:00
7aa58167f2 Merge pull request #31 from fhem/jpawlowski-patch-prereqs
Add Date::Parse to META.json
2019-06-07 19:58:26 +02:00
e4e32c6c9e Add Date::Parse to META.json 2019-06-07 19:49:33 +02:00
056010fc35 new version 2019-06-06 08:08:00 +02:00
2 changed files with 2982 additions and 946 deletions

File diff suppressed because it is too large Load Diff

339
LICENSE Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.