Compare commits
1 Commits
master
...
blocking-u
Author | SHA1 | Date |
---|---|---|
|
d2b37e083a | 3 years ago |
@ -1,19 +0,0 @@ |
||||
.git |
||||
build |
||||
packages |
||||
mon/node_modules |
||||
*.o |
||||
*.so |
||||
osd |
||||
stub_osd |
||||
stub_uring_osd |
||||
stub_bench |
||||
osd_test |
||||
dump_journal |
||||
nbd_proxy |
||||
rm_inode |
||||
fio |
||||
qemu |
||||
rpm/*.Dockerfile |
||||
debian/*.Dockerfile |
||||
Dockerfile |
@ -1,18 +0,0 @@ |
||||
*.o |
||||
*.so |
||||
package-lock.json |
||||
fio |
||||
qemu |
||||
osd |
||||
stub_osd |
||||
stub_uring_osd |
||||
stub_bench |
||||
osd_test |
||||
osd_peering_pg_test |
||||
dump_journal |
||||
nbd_proxy |
||||
rm_inode |
||||
test_allocator |
||||
test_blockstore |
||||
test_shit |
||||
osd_rmw_test |
@ -1,6 +0,0 @@ |
||||
[submodule "cpp-btree"] |
||||
path = cpp-btree |
||||
url = ../cpp-btree.git |
||||
[submodule "json11"] |
||||
path = json11 |
||||
url = ../json11.git |
@ -1,7 +0,0 @@ |
||||
cmake_minimum_required(VERSION 2.8.12) |
||||
|
||||
project(vitastor) |
||||
|
||||
set(VERSION "0.8.6") |
||||
|
||||
add_subdirectory(src) |
@ -1,339 +0,0 @@ |
||||
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. |
@ -1,27 +0,0 @@ |
||||
Copyright (c) Vitaliy Filippov (vitalif [at] yourcmc.ru), 2019+ |
||||
|
||||
All server-side code (OSD, Monitor and so on) is licensed under the terms of |
||||
Vitastor Network Public License 1.1 (VNPL 1.1), a copyleft license based on |
||||
GNU GPLv3.0 with the additional "Network Interaction" clause which requires |
||||
opensourcing all programs directly or indirectly interacting with Vitastor |
||||
through a computer network and expressly designed to be used in conjunction |
||||
with it ("Proxy Programs"). Proxy Programs may be made public not only under |
||||
the terms of the same license, but also under the terms of any GPL-Compatible |
||||
Free Software License, as listed by the Free Software Foundation. |
||||
This is a stricter copyleft license than the Affero GPL. |
||||
|
||||
Please note that VNPL doesn't require you to open the code of proprietary |
||||
software running inside a VM if it's not specially designed to be used with |
||||
Vitastor. |
||||
|
||||
Basically, you can't use the software in a proprietary environment to provide |
||||
its functionality to users without opensourcing all intermediary components |
||||
standing between the user and Vitastor or purchasing a commercial license |
||||
from the author 😀. |
||||
|
||||
Client libraries (cluster_client and so on) are dual-licensed under the same |
||||
VNPL 1.1 and also GNU GPL 2.0 or later to allow for compatibility with GPLed |
||||
software like QEMU and fio. |
||||
|
||||
You can find the full text of VNPL-1.1 in the file [VNPL-1.1.txt](VNPL-1.1.txt). |
||||
GPL 2.0 is also included in this repository as [GPL-2.0.txt](GPL-2.0.txt). |
@ -0,0 +1,64 @@ |
||||
BLOCKSTORE_OBJS := allocator.o blockstore.o blockstore_impl.o blockstore_init.o blockstore_open.o blockstore_journal.o blockstore_read.o \
|
||||
blockstore_write.o blockstore_sync.o blockstore_stable.o blockstore_rollback.o blockstore_flush.o crc32c.o ringloop.o timerfd_interval.o
|
||||
# -fsanitize=address
|
||||
CXXFLAGS := -g -O3 -Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith -fPIC -fdiagnostics-color=always
|
||||
all: $(BLOCKSTORE_OBJS) libfio_blockstore.so osd libfio_sec_osd.so test_blockstore stub_osd osd_test |
||||
clean: |
||||
rm -f *.o
|
||||
|
||||
crc32c.o: crc32c.c |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
json11.o: json11/json11.cpp |
||||
g++ $(CXXFLAGS) -c -o json11.o json11/json11.cpp
|
||||
allocator.o: allocator.cpp allocator.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
ringloop.o: ringloop.cpp ringloop.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
timerfd_interval.o: timerfd_interval.cpp timerfd_interval.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
%.o: %.cpp allocator.h blockstore_flush.h blockstore.h blockstore_impl.h blockstore_init.h blockstore_journal.h crc32c.h ringloop.h timerfd_interval.h object_id.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
libblockstore.so: $(BLOCKSTORE_OBJS) |
||||
g++ $(CXXFLAGS) -o libblockstore.so -shared $(BLOCKSTORE_OBJS) -ltcmalloc_minimal -luring
|
||||
libfio_blockstore.so: ./libblockstore.so fio_engine.cpp json11.o |
||||
g++ $(CXXFLAGS) -shared -o libfio_blockstore.so fio_engine.cpp json11.o ./libblockstore.so -ltcmalloc_minimal -luring
|
||||
|
||||
OSD_OBJS := osd.o osd_secondary.o osd_receive.o osd_send.o osd_peering.o osd_peering_pg.o osd_primary.o osd_rmw.o json11.o timerfd_interval.o
|
||||
osd_secondary.o: osd_secondary.cpp osd.h osd_ops.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_receive.o: osd_receive.cpp osd.h osd_ops.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_send.o: osd_send.cpp osd.h osd_ops.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_peering.o: osd_peering.cpp osd.h osd_ops.h osd_peering_pg.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_peering_pg.o: osd_peering_pg.cpp object_id.h osd_peering_pg.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_rmw.o: osd_rmw.cpp osd_rmw.h xor.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_rmw_test: osd_rmw_test.cpp osd_rmw.cpp osd_rmw.h xor.h |
||||
g++ $(CXXFLAGS) -o $@ $<
|
||||
osd_primary.o: osd_primary.cpp osd.h osd_ops.h osd_peering_pg.h xor.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd.o: osd.cpp osd.h osd_ops.h osd_peering_pg.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd: ./libblockstore.so osd_main.cpp osd.h osd_ops.h $(OSD_OBJS) |
||||
g++ $(CXXFLAGS) -o osd osd_main.cpp $(OSD_OBJS) ./libblockstore.so -ltcmalloc_minimal -luring
|
||||
stub_osd: stub_osd.cpp osd_ops.h rw_blocking.o |
||||
g++ $(CXXFLAGS) -o stub_osd stub_osd.cpp rw_blocking.o -ltcmalloc_minimal
|
||||
rw_blocking.o: rw_blocking.cpp rw_blocking.h |
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd_test: osd_test.cpp osd_ops.h rw_blocking.o |
||||
g++ $(CXXFLAGS) -o osd_test osd_test.cpp rw_blocking.o -ltcmalloc_minimal
|
||||
|
||||
libfio_sec_osd.so: fio_sec_osd.cpp osd_ops.h rw_blocking.o |
||||
g++ $(CXXFLAGS) -ltcmalloc_minimal -shared -o libfio_sec_osd.so fio_sec_osd.cpp rw_blocking.o -luring
|
||||
|
||||
test_blockstore: ./libblockstore.so test_blockstore.cpp |
||||
g++ $(CXXFLAGS) -o test_blockstore test_blockstore.cpp ./libblockstore.so -ltcmalloc_minimal -luring
|
||||
test: test.cpp osd_peering_pg.o |
||||
g++ $(CXXFLAGS) -o test test.cpp osd_peering_pg.o -luring
|
||||
test_allocator: test_allocator.cpp allocator.o |
||||
g++ $(CXXFLAGS) -o test_allocator test_allocator.cpp allocator.o
|
@ -1,101 +0,0 @@ |
||||
## Vitastor |
||||
|
||||
[Read English version](README.md) |
||||
|
||||
## Идея |
||||
|
||||
Вернём былую скорость кластерному блочному хранилищу! |
||||
|
||||
Vitastor - распределённая блочная SDS (программная СХД), прямой аналог Ceph RBD и |
||||
внутренних СХД популярных облачных провайдеров. Однако, в отличие от них, Vitastor |
||||
быстрый и при этом простой. Только пока маленький :-). |
||||
|
||||
Vitastor архитектурно похож на Ceph, что означает атомарность и строгую консистентность, |
||||
репликацию через первичный OSD, симметричную кластеризацию без единой точки отказа |
||||
и автоматическое распределение данных по любому числу дисков любого размера с настраиваемыми схемами |
||||
избыточности - репликацией или с произвольными кодами коррекции ошибок. |
||||
|
||||
Vitastor нацелен на SSD и SSD+HDD кластеры с как минимум 10 Гбит/с сетью, поддерживает |
||||
TCP и RDMA и на хорошем железе может достигать задержки 4 КБ чтения и записи на уровне ~0.1 мс, |
||||
что примерно в 10 раз быстрее, чем Ceph и другие популярные программные СХД. |
||||
|
||||
Vitastor поддерживает QEMU-драйвер, протоколы NBD и NFS, драйверы OpenStack, Proxmox, Kubernetes. |
||||
Другие драйверы могут также быть легко реализованы. |
||||
|
||||
Подробности смотрите в документации по ссылкам ниже. |
||||
|
||||
## Презентации и записи докладов |
||||
|
||||
- DevOpsConf'2021: презентация ([на русском](https://vitastor.io/presentation/devopsconf/devopsconf.html), |
||||
[на английском](https://vitastor.io/presentation/devopsconf/devopsconf_en.html)), |
||||
[видео](https://vitastor.io/presentation/devopsconf/talk.webm) |
||||
- Highload'2022: презентация ([на русском](https://vitastor.io/presentation/highload/highload.html)), |
||||
[видео](https://vitastor.io/presentation/highload/talk.webm) |
||||
|
||||
## Документация |
||||
|
||||
- Введение |
||||
- [Быстрый старт](docs/intro/quickstart.ru.md) |
||||
- [Возможности](docs/intro/features.ru.md) |
||||
- [Архитектура](docs/intro/architecture.ru.md) |
||||
- [Автор и лицензия](docs/intro/author.ru.md) |
||||
- Установка |
||||
- [Пакеты](docs/installation/packages.ru.md) |
||||
- [Proxmox](docs/installation/proxmox.ru.md) |
||||
- [OpenStack](docs/installation/openstack.ru.md) |
||||
- [Kubernetes CSI](docs/installation/kubernetes.ru.md) |
||||
- [Сборка из исходных кодов](docs/installation/source.ru.md) |
||||
- Конфигурация |
||||
- [Обзор](docs/config.ru.md) |
||||
- Параметры |
||||
- [Общие](docs/config/common.ru.md) |
||||
- [Сетевые](docs/config/network.ru.md) |
||||
- [Глобальные дисковые параметры](docs/config/layout-cluster.ru.md) |
||||
- [Дисковые параметры OSD](docs/config/layout-osd.ru.md) |
||||
- [Прочие параметры OSD](docs/config/osd.ru.md) |
||||
- [Параметры мониторов](docs/config/monitor.ru.md) |
||||
- [Настройки пулов](docs/config/pool.ru.md) |
||||
- [Метаданные образов в etcd](docs/config/inode.ru.md) |
||||
- Использование |
||||
- [vitastor-cli](docs/usage/cli.ru.md) (консольный интерфейс) |
||||
- [vitastor-disk](docs/usage/disk.ru.md) (управление дисками) |
||||
- [fio](docs/usage/fio.ru.md) для тестов производительности |
||||
- [NBD](docs/usage/nbd.ru.md) для монтирования ядром |
||||
- [QEMU и qemu-img](docs/usage/qemu.ru.md) |
||||
- [NFS](docs/usage/nfs.ru.md)-прокси для VMWare и подобных |
||||
- Производительность |
||||
- [Понимание сути производительности](docs/performance/understanding.ru.md) |
||||
- [Теоретический максимум](docs/performance/theoretical.ru.md) |
||||
- [Пример сравнения с Ceph](docs/performance/comparison1.ru.md) |
||||
|
||||
## Автор и лицензия |
||||
|
||||
Автор: Виталий Филиппов (vitalif [at] yourcmc.ru), 2019+ |
||||
|
||||
Заходите в Telegram-чат Vitastor: https://t.me/vitastor |
||||
|
||||
Лицензия: VNPL 1.1 на серверный код и двойная VNPL 1.1 + GPL 2.0+ на клиентский. |
||||
|
||||
VNPL - "сетевой копилефт", собственная свободная копилефт-лицензия |
||||
Vitastor Network Public License 1.1, основанная на GNU GPL 3.0 с дополнительным |
||||
условием "Сетевого взаимодействия", требующим распространять все программы, |
||||
специально разработанные для использования вместе с Vitastor и взаимодействующие |
||||
с ним по сети, под лицензией VNPL или под любой другой свободной лицензией. |
||||
|
||||
Идея VNPL - расширение действия копилефта не только на модули, явным образом |
||||
связываемые с кодом Vitastor, но также на модули, оформленные в виде микросервисов |
||||
и взаимодействующие с ним по сети. |
||||
|
||||
Таким образом, если вы хотите построить на основе Vitastor сервис, содержаший |
||||
компоненты с закрытым кодом, взаимодействующие с Vitastor, вам нужна коммерческая |
||||
лицензия от автора 😀. |
||||
|
||||
На Windows и любое другое ПО, не разработанное *специально* для использования |
||||
вместе с Vitastor, никакие ограничения не накладываются. |
||||
|
||||
Клиентские библиотеки распространяются на условиях двойной лицензии VNPL 1.0 |
||||
и также на условиях GNU GPL 2.0 или более поздней версии. Так сделано в целях |
||||
совместимости с таким ПО, как QEMU и fio. |
||||
|
||||
Вы можете найти полный текст VNPL 1.1 на английском языке в файле [VNPL-1.1.txt](VNPL-1.1.txt), |
||||
VNPL 1.1 на русском языке в файле [VNPL-1.1-RU.txt](VNPL-1.1-RU.txt), а GPL 2.0 в файле [GPL-2.0.txt](GPL-2.0.txt). |
@ -1,101 +0,0 @@ |
||||
# Vitastor |
||||
|
||||
[Читать на русском](README-ru.md) |
||||
|
||||
## The Idea |
||||
|
||||
Make Clustered Block Storage Fast Again. |
||||
|
||||
Vitastor is a distributed block SDS, direct replacement of Ceph RBD and internal SDS's |
||||
of public clouds. However, in contrast to them, Vitastor is fast and simple at the same time. |
||||
The only thing is it's slightly young :-). |
||||
|
||||
Vitastor is architecturally similar to Ceph which means strong consistency, |
||||
primary-replication, symmetric clustering and automatic data distribution over any |
||||
number of drives of any size with configurable redundancy (replication or erasure codes/XOR). |
||||
|
||||
Vitastor targets SSD and SSD+HDD clusters with at least 10 Gbit/s network, supports |
||||
TCP and RDMA and may achieve 4 KB read and write latency as low as ~0.1 ms |
||||
with proper hardware which is ~10 times faster than other popular SDS's like Ceph |
||||
or internal systems of public clouds. |
||||
|
||||
Vitastor supports QEMU, NBD, NFS protocols, OpenStack, Proxmox, Kubernetes drivers. |
||||
More drivers may be created easily. |
||||
|
||||
Read more details below in the documentation. |
||||
|
||||
## Talks and presentations |
||||
|
||||
- DevOpsConf'2021: presentation ([in Russian](https://vitastor.io/presentation/devopsconf/devopsconf.html), |
||||
[in English](https://vitastor.io/presentation/devopsconf/devopsconf_en.html)), |
||||
[video](https://vitastor.io/presentation/devopsconf/talk.webm) |
||||
- Highload'2022: presentation ([in Russian](https://vitastor.io/presentation/highload/highload.html)), |
||||
[video](https://vitastor.io/presentation/highload/talk.webm) |
||||
|
||||
## Documentation |
||||
|
||||
- Introduction |
||||
- [Quick Start](docs/intro/quickstart.en.md) |
||||
- [Features](docs/intro/features.en.md) |
||||
- [Architecture](docs/intro/architecture.en.md) |
||||
- [Author and license](docs/intro/author.en.md) |
||||
- Installation |
||||
- [Packages](docs/installation/packages.en.md) |
||||
- [Proxmox](docs/installation/proxmox.en.md) |
||||
- [OpenStack](docs/installation/openstack.en.md) |
||||
- [Kubernetes CSI](docs/installation/kubernetes.en.md) |
||||
- [Building from Source](docs/installation/source.en.md) |
||||
- Configuration |
||||
- [Overview](docs/config.en.md) |
||||
- Parameter Reference |
||||
- [Common](docs/config/common.en.md) |
||||
- [Network](docs/config/network.en.md) |
||||
- [Global Disk Layout](docs/config/layout-cluster.en.md) |
||||
- [OSD Disk Layout](docs/config/layout-osd.en.md) |
||||
- [OSD Runtime Parameters](docs/config/osd.en.md) |
||||
- [Monitor](docs/config/monitor.en.md) |
||||
- [Pool configuration](docs/config/pool.en.md) |
||||
- [Image metadata in etcd](docs/config/inode.en.md) |
||||
- Usage |
||||
- [vitastor-cli](docs/usage/cli.en.md) (command-line interface) |
||||
- [vitastor-disk](docs/usage/disk.en.md) (disk management tool) |
||||
- [fio](docs/usage/fio.en.md) for benchmarks |
||||
- [NBD](docs/usage/nbd.en.md) for kernel mounts |
||||
- [QEMU and qemu-img](docs/usage/qemu.en.md) |
||||
- [NFS](docs/usage/nfs.en.md) emulator for VMWare and similar |
||||
- Performance |
||||
- [Understanding storage performance](docs/performance/understanding.en.md) |
||||
- [Theoretical performance](docs/performance/theoretical.en.md) |
||||
- [Example comparison with Ceph](docs/performance/comparison1.en.md) |
||||
|
||||
## Author and License |
||||
|
||||
Copyright (c) Vitaliy Filippov (vitalif [at] yourcmc.ru), 2019+ |
||||
|
||||
Join Vitastor Telegram Chat: https://t.me/vitastor |
||||
|
||||
All server-side code (OSD, Monitor and so on) is licensed under the terms of |
||||
Vitastor Network Public License 1.1 (VNPL 1.1), a copyleft license based on |
||||
GNU GPLv3.0 with the additional "Network Interaction" clause which requires |
||||
opensourcing all programs directly or indirectly interacting with Vitastor |
||||
through a computer network and expressly designed to be used in conjunction |
||||
with it ("Proxy Programs"). Proxy Programs may be made public not only under |
||||
the terms of the same license, but also under the terms of any GPL-Compatible |
||||
Free Software License, as listed by the Free Software Foundation. |
||||
This is a stricter copyleft license than the Affero GPL. |
||||
|
||||
Please note that VNPL doesn't require you to open the code of proprietary |
||||
software running inside a VM if it's not specially designed to be used with |
||||
Vitastor. |
||||
|
||||
Basically, you can't use the software in a proprietary environment to provide |
||||
its functionality to users without opensourcing all intermediary components |
||||
standing between the user and Vitastor or purchasing a commercial license |
||||
from the author 😀. |
||||
|
||||
Client libraries (cluster_client and so on) are dual-licensed under the same |
||||
VNPL 1.1 and also GNU GPL 2.0 or later to allow for compatibility with GPLed |
||||
software like QEMU and fio. |
||||
|
||||
You can find the full text of VNPL-1.1 in the file [VNPL-1.1.txt](VNPL-1.1.txt). |
||||
GPL 2.0 is also included in this repository as [GPL-2.0.txt](GPL-2.0.txt). |
@ -1,680 +0,0 @@ |
||||
СЕТЕВАЯ ПУБЛИЧНАЯ ЛИЦЕНЗИЯ VITASTOR |
||||
VITASTOR NETWORK PUBLIC LICENSE |
||||
Версия 1.1, от 6 февраля 2021 |
||||
|
||||
Автор лицензии: Виталий Филиппов <vitalif@yourcmc.ru>, 2021 год |
||||
Каждый имеет право копировать и распространять точные копии этой |
||||
лицензии, но без внесения изменений. |
||||
|
||||
ПРЕАМБУЛА |
||||
|
||||
Сетевая Публичная Лицензия Vitastor - это свободная "копилефт" лицензия для |
||||
для программного обеспечения (ПО) и других видов произведений, специально |
||||
разработанная, чтобы гарантировать кооперацию с сообществом при разработке |
||||
сетевых приложений. |
||||
|
||||
Большинство лицензий на программное обеспечение и другие произведения |
||||
спроектированы так, чтобы лишить Вас свободы делиться ими и изменять их. |
||||
Сетевая Публичная Лицензия Vitastor, напротив, разработана с целью |
||||
гарантировать Ваше право распространять и вносить изменения во все версии |
||||
программного обеспечения -- для уверенности, что ПО останется свободным для |
||||
всех пользователей. |
||||
|
||||
Когда мы говорим о свободном ПО, мы имеем в виду свободу использования, а не |
||||
бесплатность. Свободные лицензии, такие, как Сетевая Публичная Лицензия |
||||
Vitastor, составлены для того, чтобы убедиться, что у Вас есть право |
||||
распространять копии свободного ПО (и взимать плату за них, если Вы хотите), |
||||
что Вы получаете исходные тексты или можете получить их, если захотите, что Вы |
||||
можете изменять программное обеспечение или использовать его части в новых |
||||
свободных программах, и что Вы знаете о своем праве делать всё это. |
||||
|
||||
Разработчики, использующие Сетевую Публичную Лицензию Vitastor, гарантируют |
||||
Ваши права при помощи следующих мер: (1) закрепляют авторское право на |
||||
программное обеспечение, и (2) предлагают Вам принять условия настоящей |
||||
Лицензии, закрепляющей Ваше право на создание копий, распространение и (или) |
||||
модификацию программного обеспечения. |
||||
|
||||
Еще одно преимущество защиты свободы всех пользователей заключается в том, |
||||
что улучшения, сделанные в разных версиях программы, при их широком |
||||
распространении становятся доступными для использования другими разработчиками. |
||||
Многие разработчики программного обеспечения воодушевляются этим |
||||
сотрудничеством и пользуются его преимуществами. Однако, если программное |
||||
обеспечение используется на сетевых серверах, данный результат не всегда |
||||
достигается. Генеральная публичная лицензия GNU разрешает создание измененных |
||||
версий и предоставление неограниченного доступа к ним, не делая общедоступным |
||||
их исходный текст. Даже генеральная публичная лицензия GNU Affero разрешает |
||||
использование модифицированной версии свободной программы в закрытой среде, где |
||||
внешние пользователи взаимодействуют с ней только через закрытый промежуточный |
||||
интерфейс (прокси), опять же, без открытия в свободный публичный доступ как |
||||
самой программы, так и прокси. |
||||
|
||||
Сетевая Публичная Лицензия Vitastor разработана специально, чтобы |
||||
гарантировать, что в таких случаях и модифицированная версия программы, и |
||||
прокси останутся доступными сообществу. Для этого лицензия требует от |
||||
операторов сетевых серверов предоставлять исходный код оригинальной программы, |
||||
а также всех других программ, взаимодействующих с ней на их серверах, |
||||
пользователям этих серверов, на условиях свободных лицензий. Таким образом, |
||||
публичное использование изменённой версии ПО на сервере, прямо или косвенно |
||||
доступном пользователям, даёт пользователям доступ к исходным кодам изменённой |
||||
версии. |
||||
|
||||
Детальные определения используемых терминов и описание условий копирования, |
||||
распространения и внесения изменений приведены ниже. |
||||
|
||||
ТЕРМИНЫ И УСЛОВИЯ |
||||
|
||||
0. Определения. |
||||
|
||||
"Настоящая Лицензия" -- версия 1.1 Сетевой Публичной Лицензии Vitastor. |
||||
|
||||
Под "Авторским правом" понимаются все законы, сходные с авторско-правовыми, |
||||
которые применяются к любым видам работ, например, к топологиям микросхем. |
||||
|
||||
Термином "Программа" обозначается любое охраноспособное произведение, |
||||
используемое в соответствии с настоящей Лицензией. Лицензиат именуется "Вы". |
||||
"Лицензиаты" и "получатели" могут быть как физическими лицами, так и |
||||
организациями. |
||||
|
||||
"Внесение изменений" в произведение означает копирование или адаптацию |
||||
произведения целиком или в части, способом, требующим разрешения |
||||
правообладателя, за исключением изготовления его точной копии. Получившееся |
||||
произведение называется "измененной версией" предыдущего произведения или |
||||
произведением, "основанным на" более ранней работе. |
||||
|
||||
Термином "Лицензионное произведение" обозначается неизмененная Программа или |
||||
произведение, основанное на Программе. |
||||
|
||||
"Распространение" произведения означает совершение с ним действий, которые |
||||
при отсутствии разрешения сделают Вас прямо или косвенно ответственным за |
||||
нарушение действующего закона об авторском праве, за исключением запуска на |
||||
компьютере или изменения копии, созданной в личных целях. Распространение |
||||
включает в себя копирование, раздачу копий (с изменениями или без них), |
||||
доведение до всеобщего сведения, а в некоторых странах -- и другие действия. |
||||
|
||||
"Передача" произведения означает любой вид распространения, который позволяет |
||||
другим лицам создавать или получать копии произведения. Обычное взаимодействие |
||||
с пользователем через компьютерную сеть без создания копии передачей не |
||||
является. |
||||
|
||||
Интерактивный интерфейс пользователя должен отображать "Информация об |
||||
авторском праве", достаточную для того, чтобы (1) обеспечить отображение |
||||
соответствующего уведомления об авторских правах и (2) сообщить пользователю |
||||
о том, что ему не предоставляются никакие гарантии на произведение (за |
||||
исключением явным образом предоставленных гарантий), о том, что лицензиаты |
||||
могут передавать произведение на условиях, описанных в настоящей Лицензии, |
||||
а также о том, как ознакомиться с текстом настоящей Лицензии. Если интерфейс |
||||
предоставляет собой список пользовательских команд или настроек, наподобие |
||||
меню, это требование считается выполненным при наличии явно выделенного |
||||
пункта в таком меню. |
||||
|
||||
1. Исходный текст. |
||||
|
||||
Под "Исходным текстом" понимается произведение в форме, которая более всего |
||||
подходит для внесения в него изменений. "Объектным кодом" называется |
||||
произведение в любой иной форме. |
||||
|
||||
"Стандартный интерфейс" -- интерфейс, который либо является общепринятым |
||||
стандартом, введенным общепризнанным органом по стандартизации, либо, в случае |
||||
интерфейсов, характерных для конкретного языка программирования -- тот, |
||||
который широко используется разработчиками, пишущими программы на этом языке. |
||||
|
||||
"Системные библиотеки" исполняемого произведения включают в себя то, что не |
||||
относится к произведению в целом и при этом (a) входит в обычный комплект |
||||
Основного компонента, но при этом не является его частью и (b) служит только |
||||
для обеспечения работы с этим Основным компонентом или для реализации |
||||
Стандартного интерфейса, для которого существует общедоступная реализация, |
||||
опубликованная в виде исходного текста. "Основным компонентом" в данном |
||||
контексте назван главный существенный компонент (ядро, оконная система и т.д.) |
||||
определенной операционной системы (если она используется), под управлением |
||||
которой функционирует исполняемое произведение, либо компилятор, используемый |
||||
для создания произведения или интерпретатор объектного кода, используемый для |
||||
его запуска. |
||||
|
||||
"Полный исходный текст" для произведения в форме объектного кода -- весь |
||||
исходный текст, необходимый для создания, установки и (для исполняемого |
||||
произведения) функционирования объектного кода, а также модификации |
||||
произведения, включая сценарии, контролирующие эти действия. Однако он не |
||||
включает в себя Системные библиотеки, необходимые для функционирования |
||||
произведения, инструменты общего назначения или общедоступные свободные |
||||
программы, которые используются в неизменном виде для выполнения этих |
||||
действий, но не являются частью произведения. Полный исходный текст включает |
||||
в себя, например, файлы описания интерфейса, прилагаемые к файлам исходного |
||||
текста произведения, а также исходные тексты общих библиотек и динамически |
||||
связанных подпрограмм, которые требуются для функционирования произведения |
||||
и разработаны специально для этого, например, для прямой передачи данных |
||||
или управления потоками между этими подпрограммами и другими частями |
||||
произведения. Полный исходный текст не включает в себя то, что пользователи |
||||
могут сгенерировать автоматически из других частей Полного исходного текста. |
||||
Полным исходным текстом для произведения в форме исходных текстов является |
||||
само это произведение. |
||||
|
||||
2. Основные права. |
||||
|
||||
Все права, предоставленные на основании настоящей Лицензии, действуют в |
||||
течение срока действия авторских прав на Программу и не могут быть отозваны |
||||
при условии, что сформулированные в ней условия соблюдены. Настоящая Лицензия |
||||
однозначно подтверждает Ваши неограниченные права на запуск неизмененной |
||||
Программы. Настоящая Лицензия распространяется на результаты функционирования |
||||
Лицензионного произведения только в том случае, если они, учитывая их |
||||
содержание, сами являются частью Лицензионного произведения. Настоящая |
||||
Лицензия подтверждает Ваши права на свободное использование произведения |
||||
или другие аналогичные полномочия, предусмотренные действующим |
||||
законодательством об авторском праве. |
||||
|
||||
Если Вы не осуществляете обычную передачу Лицензионного произведения, то |
||||
можете как угодно создавать, запускать и распространять его копии до тех пор, |
||||
пока ваша Лицензия сохраняет силу. Вы можете передавать Лицензионные |
||||
произведения третьим лицам исключительно для того, чтобы они внесли в них |
||||
изменения для Вас или предоставили Вам возможность их запуска, при условии, |
||||
что Вы соглашаетесь с условиями настоящей Лицензии при передаче всех |
||||
материалов, авторскими правами на которые Вы не обладаете. Лица, создающие |
||||
или запускающие Лицензионные произведения для Вас, должны делать это |
||||
исключительно от Вашего имени, под Вашим руководством и контролем, на |
||||
условиях, которые запрещают им создание без Вашей санкции каких-либо копий |
||||
материалов, на которые Вы обладаете авторским правом. |
||||
|
||||
Любая другая передача разрешается исключительно при соблюдении описанных |
||||
ниже условий. Сублицензирование не допускается; раздел 10 делает его не нужным. |
||||
|
||||
3. Защита прав пользователей от законов, запрещающих обход технических средств. |
||||
|
||||
Ни одно Лицензионное произведение не должно считаться содержащим эффективные |
||||
технические средства, удовлетворяющие требованиям любого действующего закона, |
||||
принятого для исполнения обязательств, предусмотренных статьей 11 Договора ВОИС |
||||
по авторскому праву от 20 декабря 1996 года или аналогичных законов, |
||||
запрещающих или ограничивающих обход таких технических средств. |
||||
|
||||
При передаче Лицензионного произведения Вы отказываетесь от всех |
||||
предоставляемых законом полномочий по запрету обхода технических средств, |
||||
используемых авторами в связи с осуществлением их прав, признавая, что такой |
||||
обход находится в рамках осуществления прав на использование Лицензионного |
||||
произведения, предоставленных настоящей Лицензией; также Вы отказываетесь |
||||
от любых попыток ограничить функционирование произведения или внесение в него |
||||
изменений, направленных на реализацию предоставленных Вам законом прав на |
||||
запрет пользователю обхода технических средств. |
||||
|
||||
4. Передача неизмененных копий. |
||||
|
||||
Вы можете передавать точные копии исходных текстов Программы в том виде, |
||||
в котором Вы их получили, на любом носителе, при условии, что Вы прилагаете |
||||
к каждой копии соответствующее уведомление об авторских правах способом, |
||||
обеспечивающим ознакомление с ним пользователя; сохраняете все уведомления |
||||
о том, что к тексту применима настоящая Лицензия и любые ограничения, |
||||
добавленные в соответствии с разделом 7; сохраняете все уведомления об |
||||
отсутствии каких-либо гарантий; предоставляете всем получателям вместе с |
||||
Программой копию настоящей Лицензии. |
||||
|
||||
Вы можете установить любую цену за каждую копию, которую Вы передаете, |
||||
или распространять копии бесплатно; также Вы можете предложить поддержку |
||||
или гарантию за отдельную плату. |
||||
|
||||
5. Передача измененных исходных текстов. |
||||
|
||||
Вы можете передавать исходный текст произведения, основанного на Программе, |
||||
или изменений, необходимых для того, чтобы получить его из Программы, на |
||||
условиях, описанных в разделе 4, при соблюдении следующих условий: |
||||
|
||||
а) Произведение должно содержать уведомления о произведенных Вами |
||||
изменениях с указанием их даты, сделанные способом, обеспечивающим |
||||
ознакомление с ними пользователя. |
||||
|
||||
b) Произведение должно содержать уведомление о том, что оно |
||||
распространяется на условиях настоящей Лицензии, а также об условиях, |
||||
добавленных в соответствии с разделом 7, сделанное способом, |
||||
обеспечивающим ознакомление с ним пользователя. Данное требование имеет |
||||
приоритет над требованиями раздела 4 "оставлять нетронутыми все |
||||
уведомления". |
||||
|
||||
c) Вы должны передать на условиях настоящей Лицензии всю работу целиком |
||||
любому лицу, которое приобретает копию. Таким образом, настоящая Лицензия |
||||
вместе с любыми применимыми условиями раздела 7 будет применяться к |
||||
произведению в целом и всем его частям, независимо от их комплектности. |
||||
Настоящая Лицензия не дает права на лицензирование произведения на любых |
||||
других условиях, но это не лишает законной силы такое разрешение, если Вы |
||||
получили его отдельно. |
||||
|
||||
d) Если произведение имеет интерактивные пользовательские интерфейсы, |
||||
каждый из них должен отображать Информацию об авторском праве; однако, |
||||
если Программа имеет пользовательские интерфейсы, которые не отображают |
||||
информацию об авторском праве, от Вашего произведения этого также не |
||||
требуется. |
||||
|
||||
Включение Лицензионного произведения в подборку на разделе хранения данных |
||||
или на носителе, на котором распространяется произведение, вместе с другими |
||||
отдельными самостоятельными произведениями, которые по своей природе не |
||||
являются переработкой Лицензионного произведения и не объединены с ним, |
||||
например, в программный комплекс, называется "набором", если авторские права |
||||
на подборку не используются для ограничения доступа к ней или законных прав |
||||
её пользователей сверх того, что предусматривают лицензии на отдельные |
||||
произведения. Включение Лицензионного произведения в набор не влечет применения |
||||
положений настоящей Лицензии к остальным его частям. |
||||
|
||||
6. Передача произведения в формах, не относящихся к исходному тексту. |
||||
|
||||
Вы можете передавать Лицензионное произведение в виде объектного кода в |
||||
соответствии с положениями разделов 4 и 5, при условии, что Вы также передаете |
||||
машиночитаемый Полный исходный текст в соответствии с условиями настоящей |
||||
Лицензии, одним из следующих способов: |
||||
|
||||
а) Передавая объектный код или содержащий его материальный продукт (включая |
||||
распределенный материальный носитель), с приложением Полного исходного |
||||
текста наматериальном носителе, обычно используемом для обмена программным |
||||
обеспечением. |
||||
|
||||
b) Передавая объектный код или содержащий его материальный продукт (включая |
||||
носитель, на котором распространяется произведение), с письменным |
||||
предложением, действительным в течение не менее трех лет либо до тех пор, |
||||
пока Вы предоставляете запасные части или поддержку для данного продукта, |
||||
о передаче любому обладателю объектного кода (1) копии Полного исходного |
||||
текста для всего программного обеспечения, содержащегося в продукте, на |
||||
которое распространяется действие настоящей Лицензии, на физическом |
||||
носителе, обычно используемом для обмена программным обеспечением, по цене, |
||||
не превышающей разумных затрат на передачу копии, или (2) доступа к Полному |
||||
исходному тексту с возможностью его копирования с сетевого сервера без |
||||
взимания платы. |
||||
|
||||
с) Передавая отдельные копии объектного кода с письменной копией предложения |
||||
о предоставлении Полного исходного текста. Этот вариант допускается только |
||||
в отдельных случаях при распространении без извлечения прибыли, и только |
||||
если Вы получили объектный код с таким предложением в соответствии |
||||
с пунктом 6b. |
||||
|
||||
d) Передавая объектный код посредством предоставления доступа к нему по |
||||
определенному адресу (бесплатно или за дополнительную плату), и предлагая |
||||
эквивалентный доступ к Полному исходному тексту таким же способом по тому же |
||||
адресу без какой-либо дополнительной оплаты. От Вас не требуется принуждать |
||||
получателей копировать Полный исходный текст вместе с объектным кодом. Если |
||||
объектный код размещен на сетевом сервере, Полный исходный текст может |
||||
находиться на другом сервере (управляемом Вами или третьим лицом), который |
||||
предоставляет аналогичную возможность копирования; при этом Вы должны четко |
||||
указать рядом с объектным кодом способ получения Полного исходного текста. |
||||
Независимо от того, на каком сервере расположен Полный исходный текст, Вы |
||||
обязаны убедиться в том, что он будет распространяться в течение времени, |
||||
необходимого для соблюдения этих требований. |
||||
|
||||
e) Передавая объектный код с использованием одноранговой (пиринговой) сети, |
||||
при условии информирования других пользователей сети о том, где можно |
||||
бесплатно получить объектный код и Полный исходный текст произведения |
||||
способом, описанным в пункте 6d. |
||||
|
||||
Не нужно включать в передаваемый объектный код его отделимые части, исходные |
||||
тексты которых не входят в состав Полного исходного текста, такие как Системные |
||||
библиотеки. |
||||
|
||||
"Потребительский товар" это либо (1) "товар, предназначенный для личных нужд", |
||||
под которым понимается любое материальное личное имущество, которое обычно |
||||
используется для личных, семейных или домашних целей, или (2) что-либо |
||||
спроектированное или продающееся для использования в жилище. При определении |
||||
того, предназначен ли товар для личных нужд, сомнения должны толковаться в |
||||
пользу положительного ответа на этот вопрос. Применительно к конкретному |
||||
товару, используемому конкретным пользователем, под выражением "обычно |
||||
используется" имеется в виду способ, которым данный вид товаров преимущественно |
||||
или как правило используется, независимо от статуса конкретного пользователя |
||||
или способа, которым конкретный пользователь использует, предполагает или |
||||
будет использовать товар. Товар относится к предназначенным для личных нужд |
||||
независимо от того, насколько часто он используется в коммерческой |
||||
деятельности, промышленности или иной сфере, не относящейся к личным нуждам, |
||||
за исключением случая, когда использование в этой сфере представляет собой |
||||
единственный основной способ использования такого товара. |
||||
|
||||
"Информация, необходимая для установки" Потребительского товара -- любые |
||||
методы, процедуры, сведения, необходимые для авторизации, или другая |
||||
информация, необходимая для установки и запуска в Потребительском товаре |
||||
измененных версий Лицензионного произведения, полученных при изменении |
||||
Полного исходного текста. Данная информация должна быть достаточной для |
||||
того, чтобы обеспечить возможность внесения в исходный текст изменений, |
||||
не приводящих к ограничению или нарушению его дальнейшей работоспособности. |
||||
|
||||
Если вместе с Потребительским товаром или специально для использования |
||||
в нём Вы передаете произведение в виде объектного кода на условиях, описанных |
||||
в данном разделе, и такая передача является частью сделки, по которой право |
||||
владения и пользования Потребительским товаром переходит к получателю |
||||
пожизненно или на определенный срок (независимо от признаков сделки), Полный |
||||
исходный текст, передаваемый согласно данному разделу, должен сопровождаться |
||||
Информацией, необходимой для установки. Но это требование не применяется, |
||||
если ни Вы, ни какое-либо третье лицо не сохраняет за собой возможности |
||||
установки измененного объектного кода на Потребительский товар (например, |
||||
произведение было установлено в постоянную память). |
||||
|
||||
Требование о предоставлении Информации, необходимой для установки, не |
||||
включает в себя требование продолжения оказания услуг по поддержке, |
||||
предоставления гарантии или обновлений для произведения, которое было изменено |
||||
или установлено получателем, либо для Потребительского товара, в котором оно |
||||
было изменено или на который оно было установлено. В доступе к сети может быть |
||||
отказано, если само внесение изменений существенно и негативно влияет на |
||||
работу сети, нарушает правила обмена данными или не поддерживает протоколы для |
||||
обмена данными по сети. |
||||
|
||||
Передаваемый в соответствии с данным разделом Полный исходный текст и |
||||
предоставленная Информация, необходимая для установки, должны быть записаны в |
||||
формате, который имеет общедоступное описание (и общедоступную реализацию, |
||||
опубликованную в форме исходного текста) и не должны требовать никаких |
||||
специальных паролей или ключей для распаковки, чтения или копирования. |
||||
|
||||
7. Дополнительные условия. |
||||
|
||||
"Дополнительными разрешениями" называются условия, которые дополняют условия |
||||
настоящей Лицензии, делая исключения из одного или нескольких её положений. |
||||
Дополнительные разрешения, которые применимы ко всей Программе, должны |
||||
рассматриваться как часть настоящей Лицензии, в той степени, в которой они |
||||
соответствуют действующему законодательству. Если дополнительные разрешения |
||||
применяются только к части Программы, эта часть может быть использована отдельно |
||||
на измененных условиях, но вся Программа продолжает использоваться на условиях |
||||
настоящей Лицензии без учета дополнительных разрешений. |
||||
|
||||
Когда Вы передаете копию Лицензионного произведения, Вы можете по своему |
||||
усмотрению исключить любые дополнительные разрешения, примененные к этой копии |
||||
или к любой её части. (Для дополнительных разрешений может быть заявлено |
||||
требование об их удалении в определенных случаях, когда Вы вносите изменения в |
||||
произведение.) Вы можете добавлять дополнительные разрешения к добавленным Вами |
||||
в Лицензионное произведение материалам, на которые Вы обладаете авторскими |
||||
правами или правом выдачи соответствующего разрешения. |
||||
|
||||
Независимо от любых других положений настоящей Лицензии, Вы можете дополнить |
||||
следующими условиями положения настоящей Лицензии в отношении материала, |
||||
добавленного к Лицензионному произведению (если это разрешено обладателями |
||||
авторских прав на материал): |
||||
|
||||
a) отказом от гарантий или ограничением ответственности, отличающимися от |
||||
тех, что описаны в разделах 15 и 16 настоящей Лицензии; либо |
||||
|
||||
b) требованием сохранения соответствующей информации о правах или об |
||||
авторстве материала, или включения её в Информацию об авторском праве, |
||||
отображаемую содержащим его произведением; либо |
||||
|
||||
c) запретом на искажение информации об источнике происхождения материала |
||||
или требованием того, чтобы измененные версии такого материала содержали |
||||
корректную отметку об отличиях от исходной версии; либо |
||||
|
||||
d) ограничением использования в целях рекламы имен лицензиаров или авторов |
||||
материала; либо |
||||
|
||||
e) отказом от предоставления прав на использование в качестве товарных |
||||
знаков некоторых торговых наименований, товарных знаков или знаков |
||||
обслуживания; либо |
||||
|
||||
f) требованием от каждого, кто по договору передает материал (или его |
||||
измененные версии), предоставления компенсации лицензиарам и авторам |
||||
материала в виде принятия на себя любой ответственности, которую этот |
||||
договор налагает на лицензиаров и авторов. |
||||
|
||||
Все остальные ограничительные дополнительные условия считаются "дополнительными |
||||
запретами" по смыслу раздела 10. Если программа, которую Вы получили, или любая |
||||
её часть содержит уведомление о том, что наряду с настоящей Лицензией её |
||||
использование регулируется условием, относящимся к дополнительным запретам, Вы |
||||
можете удалить такое условие. Если лицензия содержит дополнительный запрет, но |
||||
допускает лицензирование на измененных условиях или передачу в соответствии с |
||||
настоящей Лицензией, Вы можете добавить к Лицензионному произведению материал, |
||||
используемый на условиях такой лицензии, в том случае, если дополнительный |
||||
запрет не сохраняется при таком изменении условий лицензии или передаче. |
||||
|
||||
Если Вы добавляете условия для использования Лицензионного произведения в |
||||
соответствии с настоящим разделом, Вы должны поместить в соответствующих файлах |
||||
исходного текста уведомление о том, что к этим файлам применяются дополнительные |
||||
условия, или указание на то, как ознакомиться с соответствующими условиями. |
||||
|
||||
Дополнительные разрешающие или ограничивающие условия могут быть сформулированы |
||||
в виде отдельной лицензии или зафиксированы как исключения; вышеуказанные |
||||
требования применяются в любом случае. |
||||
|
||||
8. Прекращение действия. |
||||
|
||||
Вы не можете распространять Лицензионное произведение или вносить в него |
||||
изменения на условиях, отличающихся от явно оговоренных в настоящей Лицензии. |
||||
Любая попытка распространения или внесения изменений на иных условиях является |
||||
ничтожной и автоматически прекращает Ваши права, полученные по настоящей |
||||
Лицензии (включая лицензию на любые патенты, предоставленные согласно третьему |
||||
пункту раздела 11). |
||||
|
||||
Тем не менее если Вы прекращаете нарушение настоящей Лицензии, Ваши права, |
||||
полученные от конкретного правообладателя, восстанавливаются (а) временно, до |
||||
тех пор пока правообладатель явно и окончательно не прекратит действие Ваших |
||||
прав, и (б) навсегда, если правообладатель не уведомит Вас о нарушении с помощью |
||||
надлежащих средств в течение 60 дней после прекращения нарушений. |
||||
|
||||
Кроме того, Ваши права, полученные от конкретного правообладателя, |
||||
восстанавливаются навсегда, если правообладатель впервые любым подходящим |
||||
способом уведомляет Вас о нарушении настоящей Лицензии на свое произведение (для |
||||
любого произведения) и Вы устраняете нарушение в течение 30 дней после получения |
||||
уведомления. |
||||
|
||||
Прекращение Ваших прав, описанное в настоящем разделе, не прекращает действие |
||||
лицензий лиц, которые получили от Вас копии произведения или права, |
||||
предоставляемые настоящей Лицензией. Если Ваши права были прекращены навсегда и |
||||
не восстановлены, Вы не можете вновь получить право на тот же материал на |
||||
условиях, описанных в разделе 10. |
||||
|
||||
9. Акцепт не требуется для получения копий. |
||||
|
||||
Вы не обязаны принимать условия настоящей Лицензии для того, чтобы получить или |
||||
запустить копию Программы. Случайное распространение Лицензионного произведения, |
||||
происходящее вследствие использования одноранговой (пиринговой) сети для |
||||
получения его копии, также не требует принятия этих условий. Тем не менее только |
||||
настоящая Лицензия дает Вам право распространять или изменять любое Лицензионное |
||||
произведение. Если Вы не приняли условия настоящей Лицензии, такие действия |
||||
будут нарушением авторского права. Поэтому изменяя или распространяя |
||||
Лицензионное произведение, Вы выражаете согласие с условиями настоящей Лицензии. |
||||
|
||||
10. Автоматическое получение прав последующими получателями. |
||||
|
||||
Каждый раз, когда Вы передаете Лицензионное произведение, получатель |
||||
автоматически получает от его лицензиара право запускать, изменять и |
||||
распространять это произведение при условии соблюдения настоящей Лицензии. Вы не |
||||
несете ответственности за соблюдение третьими лицами условий настоящей Лицензии. |
||||
|
||||
"Реорганизацией" называются действия, в результате которых передается управление |
||||
организацией или значительная часть её активов, а также происходит разделение |
||||
или слияние организаций. Если распространение Лицензионного произведения |
||||
является результатом реорганизации, каждая из сторон сделки, получающая копию |
||||
произведения, также получает все права на произведение, которые предшествующее |
||||
юридическое лицо имело или могло предоставить согласно предыдущему абзацу, а |
||||
также право на владение Полным исходным текстом произведения от предшественника, |
||||
осуществляемое в его интересах, если предшественник владеет им или может |
||||
получить его при разумных усилиях. |
||||
|
||||
Вы не можете налагать каких-либо дополнительных ограничений на осуществление |
||||
прав, предоставленных или подтвержденных в соответствии с настоящей Лицензией. |
||||
Например, Вы не можете ставить осуществление прав, предоставленных по настоящей |
||||
Лицензии, в зависимость от оплаты отчислений, роялти или других сборов; также Вы |
||||
не можете инициировать судебный процесс (включая встречный иск или заявление |
||||
встречного требования в судебном процессе) о нарушении любых патентных прав при |
||||
создании, использовании, продаже, предложении продажи, импорте Программы или |
||||
любой её части. |
||||
|
||||
11. Патенты. |
||||
|
||||
"Инвестором" называется правообладатель, разрешающий использование Программы |
||||
либо произведения, на котором основана Программа, на условиях настоящей |
||||
Лицензии. Произведение, лицензированное таким образом, называется "версией со |
||||
вкладом" инвестора. |
||||
|
||||
"Неотъемлемые патентные претензии" инвестора -- все патентные права, |
||||
принадлежащие инвестору или контролируемые им в настоящее время либо |
||||
приобретенные в будущем, которые могут быть нарушены созданием, использованием |
||||
или продажей версии со вкладом, допускаемыми настоящей Лицензией; они не |
||||
включают в себя права, которые будут нарушены исключительно вследствие будущих |
||||
изменений версии со вкладом. Для целей данного определения под "контролем" |
||||
понимается право выдавать патентные сублицензии способами, не нарушающими |
||||
требований настоящей Лицензии. |
||||
|
||||
Каждый инвестор предоставляет Вам неисключительную безвозмездную лицензию на |
||||
патент, действующую во всем мире, соответствующую неотъемлемым патентным |
||||
претензиям инвестора, на создание, использование, продажу, предложение для |
||||
продажи, импорт, а также запуск, внесение изменений и распространение всего, что |
||||
входит в состав версии со вкладом. |
||||
|
||||
В следующих трех абзацах "лицензией на патент" называется любое явно выраженное |
||||
вовне согласие или обязательство не применять патент (например, выдача |
||||
разрешения на использование запатентованного объекта или обещание не подавать в |
||||
суд за нарушение патента). "Выдать" кому-то такую лицензию на патент означает |
||||
заключить такое соглашение или обязаться не применять патент против него. |
||||
|
||||
Если Вы передаете Лицензионное произведение, сознательно основываясь на лицензии |
||||
на патент, в то время как Полный исходный текст произведения невозможно |
||||
бесплатно скопировать с общедоступного сервера или другим не вызывающим |
||||
затруднений способом, Вы должны либо (1) обеспечить возможность такого доступа к |
||||
Полному исходному тексту, либо (2) отказаться от прав, предоставленных по |
||||
лицензии на патент для данного произведения, либо (3) принять меры по передаче |
||||
лицензии на патент последующим получателям произведения, в соответствии с |
||||
требованиями настоящей Лицензии. "Сознательно основываясь" означает, что Вы |
||||
знаете, что при отсутствии лицензии на патент передача Вами Лицензионного |
||||
произведения в определенной стране или использование получателем переданного ему |
||||
Вами Лицензионного произведения в этой стране нарушит один или несколько |
||||
определенных патентов этой страны, срок действия которых не истек. |
||||
|
||||
Если в соответствии или в связи с единичной сделкой либо соглашением Вы |
||||
передаете или делаете заказ на распространение Лицензионного произведения, и |
||||
предоставляете определенным лицам, получающим Лицензионное произведение, |
||||
лицензию на патент, разрешающую им использовать, распространять, вносить |
||||
изменения или передавать конкретные экземпляры Лицензионного произведения, |
||||
права, которые Вы предоставляете по лицензии на патент, автоматически переходят |
||||
ко всем получателям Лицензионного произведения и произведений, созданных на его |
||||
основе. |
||||
|
||||
Патентная лицензия называется "дискриминирующей", если она не покрывает, |
||||
запрещает осуществление или содержит в качестве условия отказ от применения |
||||
одного или нескольких прав, предоставленных настоящей Лицензией. Вы не можете |
||||
передавать Лицензионное произведение, если Вы являетесь участником договора с |
||||
третьим лицом, осуществляющим распространение программного обеспечения, в |
||||
соответствии с которым Вы делаете в пользу третьего лица выплаты, размер которых |
||||
зависит от масштабов Вашей деятельности по передаче произведения, и в |
||||
соответствии с которым любое третье лицо, получающее от Вас Лицензионное |
||||
произведение, делает это на условиях дискриминирующей патентной лицензии (а) |
||||
которая зависит от количества копий Лицензионного произведения, переданных Вами |
||||
(или копий, сделанных с этих копий), или (b) которая используется |
||||
преимущественно в конкретных товарах или подборках, содержащих Лицензионное |
||||
произведение, или в связи с ними, в том случае, если Вы заключили данный договор |
||||
или получили лицензию на патент после 28 марта 2007 года. |
||||
|
||||
Ничто в настоящей Лицензии не должно толковаться как исключение или ограничение |
||||
любого предполагаемого права или других способов противодействия нарушениям, |
||||
которые во всем остальном могут быть доступны для Вас в соответствии с |
||||
применимым патентным правом. |
||||
|
||||
12. Запрет отказывать в свободе другим. |
||||
|
||||
Если на Вас наложены обязанности (будь то по решению суда, договору или иным |
||||
способом), которые противоречат условиям настоящей Лицензии, это не освобождает |
||||
Вас от соблюдения её условий. Если Вы не можете передать Лицензионное |
||||
произведение так, чтобы одновременно выполнять Ваши обязательства по настоящей |
||||
Лицензии и любые другие относящиеся к делу обязательства, то Вы не можете |
||||
передавать его вообще. Например, если Вы согласны с условием, обязывающими Вас |
||||
производить сбор отчислений за дальнейшую передачу от тех, кому Вы передаете |
||||
Программу, то для того, чтобы соблюсти это условие и выполнить требования |
||||
настоящей Лицензии, Вы должны полностью воздержаться от передачи Программы. |
||||
|
||||
13. Удаленное сетевое взаимодействие. |
||||
|
||||
Под "Прокси-программой" понимается отдельная программа, специально |
||||
разработанная для использования совместно с Лицензионным произведением, |
||||
и взаимодействующая с ним прямо или косвенно через любой вид программного |
||||
интерфейса, компьютерную сеть, имитацию такой сети, или, в свою очередь, |
||||
через другую Прокси-программу. |
||||
|
||||
Независимо от любых других положений настоящей Лицензии, если вы |
||||
предоставляете любому пользователю возможность взаимодействовать с Лицензионным |
||||
произведением через компьютерную сеть, имитацию такой сети, или через любое |
||||
количество "Прокси-программ", вы должны в явной форме предложить этому |
||||
пользователю возможность получить Полный исходный текст Лицензионного |
||||
произведения и всех Прокси-программ путём предоставления доступа к нему |
||||
с сетевого сервера без взимания платы, посредством стандартных или |
||||
традиционных способов, используемых для копирования программного обеспечения. |
||||
Полный исходный текст Лицензионного произведения должен предоставляться |
||||
пользователю на условиях настоящей Лицензии, а Полный исходный текст |
||||
Прокси-программ должен предоставляться пользователю либо на условиях настоящей |
||||
Лицензии, либо на условиях одной из свободных лицензий, совместимых с |
||||
Генеральной публичной Лицензией GNU, перечисленных Фондом Свободного |
||||
Программного Обеспечения в списке под названием "Лицензии свободных программ, |
||||
совместимые с GPL". |
||||
|
||||
14. Пересмотренные редакции настоящей Лицензии. |
||||
|
||||
Автор настоящей Лицензии время от времени может публиковать пересмотренные |
||||
и (или) новые редакции Сетевой Публичной Лицензии Vitastor. Они будут аналогичны |
||||
по смыслу настоящей редакции, но могут отличаться от нее в деталях, направленных |
||||
на решение новых проблем или регулирование новых отношений. |
||||
|
||||
Каждой редакции присваивается собственный номер. Если для Программы указано, |
||||
что к ней применима определенная редакция Сетевой Публичной Лицензии Vitastor |
||||
"или любая более поздняя редакция", у Вас есть возможность использовать термины |
||||
и условия, содержащиеся в редакции с указанным номером или любой более поздней |
||||
редакции, опубликованной автором настоящей Лицензии. Если для Программы не |
||||
указан номер редакции Сетевой Публичной Лицензии Vitastor, Вы можете выбрать |
||||
любую редакцию, опубликованную автором настоящей Лицензии. |
||||
|
||||
Более поздние редакции Лицензии могут дать Вам дополнительные или принципиально |
||||
иные права. Тем не менее в результате Вашего выбора более поздней редакции на |
||||
автора или правообладателя не возлагается никаких дополнительных обязанностей. |
||||
|
||||
15. Отказ от гарантий. |
||||
|
||||
НА ПРОГРАММУ НЕ ПРЕДОСТАВЛЯЕТСЯ НИКАКИХ ГАРАНТИЙ ЗА ИСКЛЮЧЕНИЕМ ПРЕДУСМОТРЕННЫХ |
||||
ДЕЙСТВУЮЩИМ ЗАКОНОДАТЕЛЬСТВОМ. ЕСЛИ ИНОЕ НЕ УКАЗАНО В ПИСЬМЕННОЙ ФОРМЕ, |
||||
ПРАВООБЛАДАТЕЛИ И (ИЛИ) ТРЕТЬИ ЛИЦА ПРЕДОСТАВЛЯЮТ ПРОГРАММУ "КАК ЕСТЬ", БЕЗ |
||||
КАКИХ-ЛИБО ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ВКЛЮЧАЯ ГАРАНТИИ ПРИГОДНОСТИ ДЛЯ |
||||
КОНКРЕТНЫХ ЦЕЛЕЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. ВЕСЬ РИСК, СВЯЗАННЫЙ С КАЧЕСТВОМ И |
||||
ПРОИЗВОДИТЕЛЬНОСТЬЮ ПРОГРАММЫ, ВОЗЛАГАЕТСЯ НА ВАС. ЕСЛИ В ПРОГРАММЕ БУДУТ |
||||
ВЫЯВЛЕНЫ НЕДОСТАТКИ, ВЫ ПРИНИМАЕТЕ НА СЕБЯ СТОИМОСТЬ ВСЕГО НЕОБХОДИМОГО |
||||
ОБСЛУЖИВАНИЯ, РЕМОНТА ИЛИ ИСПРАВЛЕНИЯ. |
||||
|
||||
16. Ограничение ответственности. |
||||
|
||||
ЕСЛИ ИНОЕ НЕ ПРЕДУСМОТРЕНО ДЕЙСТВУЮЩИМ ЗАКОНОДАТЕЛЬСТВОМ ИЛИ СОГЛАШЕНИЕМ СТОРОН, |
||||
ЗАКЛЮЧЕННЫМ В ПИСЬМЕННОЙ ФОРМЕ, ПРАВООБЛАДАТЕЛЬ ИЛИ ИНОЕ ЛИЦО, КОТОРОЕ ВНОСИТ |
||||
ИЗМЕНЕНИЯ В ПРОГРАММУ И (ИЛИ) ПЕРЕДАЕТ ЕЁ НА УСЛОВИЯХ, СФОРМУЛИРОВАННЫХ ВЫШЕ, НЕ |
||||
МОЖЕТ НЕСТИ ОТВЕТСТВЕННОСТЬ ПЕРЕД ВАМИ ЗА ПРИЧИНЕННЫЙ УЩЕРБ, ВКЛЮЧАЯ УЩЕРБ |
||||
ОБЩЕГО ЛИБО КОНКРЕТНОГО ХАРАКТЕРА, ПРИЧИНЕННЫЙ СЛУЧАЙНО ИЛИ ЯВЛЯЮЩИЙСЯ |
||||
СЛЕДСТВИЕМ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ ЛИБО НЕВОЗМОЖНОСТИ ЕЁ ИСПОЛЬЗОВАНИЯ (В ТОМ |
||||
ЧИСЛЕ ЗА УНИЧТОЖЕНИЕ ИЛИ МОДИФИКАЦИЮ ИНФОРМАЦИИ, ЛИБО УБЫТКИ, ПОНЕСЕННЫЕ ВАМИ |
||||
ИЛИ ТРЕТЬИМИ ЛИЦАМИ, ЛИБО СБОИ ПРОГРАММЫ ПРИ ВЗАИМОДЕЙСТВИИ С ДРУГИМ ПРОГРАММНЫМ |
||||
ОБЕСПЕЧЕНИЕМ), В ТОМ ЧИСЛЕ И В СЛУЧАЯХ, КОГДА ПРАВООБЛАДАТЕЛЬ ИЛИ ТРЕТЬЕ ЛИЦО |
||||
ПРЕДУПРЕЖДЕНЫ О ВОЗМОЖНОСТИ ПРИЧИНЕНИЯ ТАКИХ УБЫТКОВ. |
||||
|
||||
17. Толкование разделов 15 и 16. |
||||
|
||||
Если отказ от гарантии и ограничение ответственности, представленные выше, по |
||||
закону не могут быть применены в соответствии с их условиями, суды, |
||||
рассматривающие спор, должны применить действующий закон, который в наибольшей |
||||
степени предусматривает абсолютный отказ от всей гражданской ответственности в |
||||
связи с Программой, за исключением случаев, когда гарантия или принятие на себя |
||||
ответственности за копию программы предоставляется за плату. |
||||
|
||||
КОНЕЦ ОПРЕДЕЛЕНИЙ И УСЛОВИЙ |
||||
|
||||
Порядок применения условий Лицензии к Вашим программам |
||||
|
||||
Если Вы разрабатываете новую программу и хотите, чтобы её использование принесло |
||||
максимальную пользу обществу, наилучший способ достичь этого -- сделать её |
||||
свободной, чтобы все могли распространять и изменять её на условиях настоящей |
||||
Лицензии. |
||||
|
||||
Для этого сделайте так, чтобы программа содержала в себе описанные ниже |
||||
уведомления. Самым надежным способом это сделать является включение их в начало |
||||
каждого файла исходного текста, чтобы наиболее эффективным образом сообщить об |
||||
отсутствии гарантий; каждый файл должен иметь по меньшей мере одну строку с |
||||
оповещением об авторских правах и указанием на то, где находится полный текст |
||||
уведомлений. |
||||
|
||||
<Строка с названием Программы и информацией о её назначении.> |
||||
Copyright © <год выпуска программы в свет> <имя автора> |
||||
|
||||
Эта программа является свободным программным обеспечением: Вы можете |
||||
распространять её и (или) изменять, соблюдая условия Сетевой Публичной |
||||
Лицензии Vitastor, опубликованной автором Vitastor, либо редакции 1.1 |
||||
Лицензии, либо (на Ваше усмотрение) любой редакции, выпущенной позже. |
||||
|
||||
Эта программа распространяется в расчете на то, что она окажется полезной, |
||||
но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, включая подразумеваемую гарантию КАЧЕСТВА либо |
||||
ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Ознакомьтесь с Сетевой Публичной |
||||
Лицензией Vitastor для получения более подробной информации. |
||||
|
||||
Также добавьте информацию о том, как связаться с Вами посредством электронной |
||||
или обычной почты. |
||||
|
||||
Если ваша программа взаимодействует с пользователями удаленно через |
||||
компьютерную сеть, Вы также должны убедиться, что обеспечили её пользователям |
||||
возможность получить её исходные тексты. Например, если Ваша программа является |
||||
веб-приложением, её интерфейс может отображать ссылку "Исходные коды", которая |
||||
указывает на архив с текстом. Существует много способов, которыми Вы можете |
||||
распространять исходные тексты, для разных программ подходят разные решения; |
||||
ознакомьтесь с разделом 13 для того, чтобы узнать конкретные требования. |
@ -1,648 +0,0 @@ |
||||
VITASTOR NETWORK PUBLIC LICENSE |
||||
Version 1.1, 6 February 2021 |
||||
|
||||
Copyright (C) 2021 Vitaliy Filippov <vitalif@yourcmc.ru> |
||||
Everyone is permitted to copy and distribute verbatim copies |
||||
of this license document, but changing it is not allowed. |
||||
|
||||
Preamble |
||||
|
||||
The Vitastor Network Public License is a free, copyleft license for |
||||
software and other kinds of works, specifically designed to ensure |
||||
cooperation with the community in the case of network server software. |
||||
|
||||
The licenses for most software and other practical works are designed |
||||
to take away your freedom to share and change the works. By contrast, |
||||
GNU General Public Licenses and Vitastor Network Public License are |
||||
intended to guarantee your freedom to share and change all versions |
||||
of a program--to make sure it remains free software for all its users. |
||||
|
||||
When we speak of free software, we are referring to freedom, not |
||||
price. GNU General Public Licenses and Vitastor Network Public License |
||||
are designed to make sure that you have the freedom to distribute copies |
||||
of free software (and charge for them 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 |
||||