Vlákno názorů k článku Mikrotik: seznámení s Wi-Fi krabičkou od grunt - Výhod má RB s ROS opravdu hodně a...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 11. 2008 14:51

    grunt (neregistrovaný)
    Výhod má RB s ROS opravdu hodně a nejlepší bude je shrnout do několika bodů:
    • Rychlost
    Inu tak s tím bych si dovolil nesouhlasit. RoS je jeden obrovský statický moloch. Používá velké množství nepotřebných modulů, které jsou zvláště při routování znát. S RoS3.10 se mi na RB153 podařilo na ethernetu dosáhnout při vypnutém conntracku rychlosti tak kolem 43Mbps, kdežto s OpenWRT(a to nijak neoptimalizovaným!) 86Mbps při routingu a 92Mbps u bridge. A o tom, že RoS nijak nedovoluje používat integrovaný opakovač v ADM5120 radši ani nemluvím. Nechávat volné filtry, mangle, apod. vůbec nemá cenu, protože moduly se standardní cestou nijak nedají dostat z paměti a stále je veškerý provoz přesměrováván z kernel-space do user-space přes netlink a dále zpracováván i když v nich nejsou žádné pravidla. RoS je zatím nejpomalejší systém se kterým jsem měl tu čest.
    Další velmi nepopulární vlastností je nemožnost běhu vlastních aplikací v ROS, uživatel se musí spokojit s již obsaženými programy.
    S tímto bych si také dovolil nesouhlasit, protože RoS je klasické linuxové jádro + OSS utility + proprietární user-space aplikace(ty se dají nazývat samotným RoS) a tak není problém si cokoliv zkompilovat(pro jakoukoliv architekturu) a do RoS integrovat. Samotný BASH už dokonce obsahuje. Zde je např. ukázka programu htop běžícím v RoS ukazujícím zacyklení démona pro DUDE.
    Nepotěší ani vázanost konfigurační utility Winbox na Windows.
    Ono to také bude tím, že kdyby existovala pro Linux, tak samotný vyznám systému RoS zaniká. Ale jinak to není tak dlouho co ještě WinBox ve Wine tuhl a pánové z Litvy na tom speciálně pro Wine zapracovali a jeho běh pod Wine je téměř bezchybný.
    K ROS se můžeme připojit následujícími způsoby:
    K výčtu bych si dovolil ještě přidat WebBox, který slouží právě laikům k jednoduchému nastavení a dá se přirovnat k systému v těch všelijakých SOHO krabičkách.
    Bohužel se mi na Linuxu nepodařilo tuto vlastnost rozběhnout, takže se musíme spokojit se sériovým kabelem.
    Nefunguje to pokud na rozhraních nejsou nastaveny IP adresy.
    Největší výtkou na Mikrotik je rozhodně neposkytnutí zdrojových kódů na svůj systém i přes to, že vychází z linuxového jádra.

    Znova omyl. Mikrotikls vydává patche jádra, tak aby byl umožněn běh obyčejného Linuxu na jejich HW. Nedávno dokonce byly zařazeny do hlavního stromu.

    Jinak pro všechny ty výkřiky, že Mikrotikls porušuje GPL:
    A četly jste vůbec licenční ujednání?:
    MIKROTIK ROUTEROS V3 SOFTWARE ROUTER SYSTEM
    
    This  End-User License  Agreement ("License  Agreement") is  a binding
    agreement between  you (either an  individual or a single  entity) and
    MikroTikls SIA ("MikroTikls" or "MikroTik"), which is the manufacturer
    of the SOFTWARE PRODUCT  ("SOFTWARE PRODUCT" or "SOFTWARE") identified
    above.  HARDWARE refers as the computer, which the Software Product is
    installed on.  Any software provided  along with the  SOFTWARE PRODUCT
    that  is associated  with  a separate  end-user  License Agreement  is
    licensed to  you under the terms  of that License  Agreement. The term
    SOFTWARE  or SOFTWARE  PRODUCT does  not include  the  software listed
    after point 12  of this document that is under  the GNU General Public
    License or other free software  licenses listed after point 12 of this
    document.
    
    For license obligations  below  that  require  Mikrotikls  to  provide
    source  code  or  other  license  obligations,  you   should   contact
    Mikrotikls by mail at the following address:
    
    MikroTikls SIA
    attn: license compliance
    Pernavas iela 46
    LV-1009, Riga
    LATVIA
    
    For license obligations below that require responses  by  email,  you
    should contact Mikrotikls SIA at: mt@mikrotik.com
    
    For license obligations below that  require  responses  by  telephone
    or fax, you should contact Mikrotikls SIA at:
    telephone +371 7 801 080, fax +371 7 542 530
    
    To get a CD with the corresponding source code for the GPL-covered
    programs in this distribution, wire transfer $45 to MikroTikls SIA,
    Pernavas 46, Riga, LV-1009, Latvia. Please contact MikroTikls SIA for
    our current account information and wire transfer instructions. Offer
    valid until 2010.  This CD will only include the source code of the
    following programs according to the license requirements.  This CD will
    not include MikroTikls proprietary SOFTWARE.
    
    Package name   License      URL
    ----------------------------------------------------------------------
    e2fsprogs      GPL    ftp://tsx-11.mit.edu/pub/linux/packages/ext2fs
    
    gzip           GPL    ftp://ftp.gnu.org/gnu/gzip
    
    ld.so          ldso   ftp://metalab.unc.edu/pub/Linux/GCC
    
    linux kernel   GPL    http://www.kernel.org/
    
    ppp            PPP    ftp://metalab.unc.edu/pub/Linux/system/network/
                                serial/ppp
    
    netkit-telnet  telnet ftp://metalab.unc.edu/pub/Linux/system/
                                network/daemons
    
    termcap        LGPL   ftp://metalab.unc.edu/pub/Linux/GCC
    
    zebra          GPL    http://www.zebra.org/
    
    LinuxBIOS      GPL    http://www.linuxbios.org/
    
    EtherBoot      GPL    http://www.etherboot.org/
    
    Bochs          LGPL   http://www.gnu.org/directory/bochs.html
    
    SGI STL        STL    http://www.sgi.com/tech/stl/
    
    OpenSSL        OpenSSL http://www.openssl.org/
    
    OpenSSH        OpenSSH http://www.openssh.org/
    
    uClibc         LGPL   http://www.uclibc.org/
    
    SYSLINUX       GPL    http://syslinux.zytor.com/
    
    mkelfImage     GPL    ftp://ftp.lnxi.com/pub/mkelfImage/
    
    NTP            NTP    http://www.ntp.org/
    
    BusyBox        GPL    http://www.busybox.net/
    
    expat          expat  http://www.jclark.com/xml/expat.html
    
    Memtest86      GPL    http://www.memtest86.com/
    
    cpuburn        GPL    http://users.ev1.net/~redelm/
    
    libsvg         LGPL   http://cairographics.org/libsvg
    
    libsvg-cairo   LGPL   http://cairographics.org/libsvg-cairo
    
    cairo          MPL    http://cairographics.org/
    
    fontconfig     fontconfig http://www.fontconfig.org/wiki/
    
    freetype       freetype http://www.freetype.org/
    
    net-snmp       net-snmp http://net-snmp.sourceforge.net/
    
    ----------------------------------------------------------------------
    
                        GNU GENERAL PUBLIC LICENSE
                          Version 2, June 1991
    
     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                           59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.
    
                                Preamble
    …
    
    Takže se dá říct, že RoS je vlastně normální linuxová distribuce sestávající z jádra + openSource utilit + proprietárních utilit a modulů(což je vlastně samotný RoS) a rýpat do jádra či utilit vám nikdo nemůže zakázat. Je to úplně stejné jako nVidia binární moduly, či jiné proprietární aplikace(Quake3?) na Linuxu. Jen se teda nedistribuuje jako aplikace samotné ale jako celek/obraz. Dokonce proprietární utility vycházejí z OSS utilit a dalo by se teoreticky najít pár míst kde je GPL opravdu porušována, ovšem je dost možné, že ty se nacházejí právě na výše zmíněném CD. Bohužel jen tak vyhodit $45 abych si to ověřil se mi nechce. Jen tak pro zajímoavost, pod GPL jsou i dokonce některé moduly v RoS použité(Bandwith Test,…)

    I přesto, že popularizování síťové správy a vůbec samotná popularizace RoS se mi moc nelíbí, zde musím udělat opak a článek pochválit a přeji aby se dostalo i k dalším dílům a aby byly min. stejně vydařené.

  • 8. 11. 2008 13:11

    anonymní

    I přesto, že popularizování síťové správy a vůbec samotná popularizace RoS se mi moc nelíbí, zde musím udělat opak a článek pochválit a přeji aby se dostalo i k dalším dílům a aby byly min. stejně vydařené.

    Hezke, ale nevim, jestli to pan autor pochopi :-)
  • 26. 3. 2009 10:09

    ntpt (neregistrovaný)
    What kind of source code do I have to publish under the GNU GPL?
    The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the "complete corresponding source code". The GNU GPL also contains a definition of this term:

    “ 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. ”
    This is a quite precise definition. For a typical C program, this translates into all the source code (.c files) plus header files (.h files) plus the scripts used to control compilation and installation.

    Always keep in mind that it is the purpose of the GPL to enable the users to exercise his freedoms. Specifically, the freedom to make modified versions of the program, and to run such modified versions of the program.

    What are "scripts used to control compilation"?
    Generally, any sophisticated program is split into many different source code files. During the process of compilation, each of them are compiled into executable code, after which they are linked. This process of compiling and linking individual source code files is generally controlled by scripts. Most often the "make" program is used, whose scripts are generally referred to as "Makefiles".

    Also, some programs such as the Linux kernel tend to have compile-time configuration (in case of the Linux kernel the .config file). Since this compile-time configuration undoubtedly controls the process of compilation, you need to include any such compile-time configuration files, too.

    What are "scripts used to control installation"?
    After having translated software from its source code form into executable format, the program quite often needs to be installed into the system. The process of installation is often automatized by installation scripts. Exactly those scripts are referred to by the GPL.

    Please note that this is of special practical importance in the case of embedded devices, since the executable program(s) need to be somehow installed onto the device. If the user is not given a way to install his own (modified) versions of the program, he has no way of exercising his freedom to run modified versions of the program.

    Sometimes, the process of installation is not facilitated by scripts, but by some other means (such as executable programs). The GPL text only mentions the word "scripts". But when reading and interpreting the license, it is clearly understood that the license doesn't specifically only mean "scripts", but any kind of software programs that are required to install a (modified) version of the compiled program.

    What about the compiler, the toolchain?
    The GPL explicitly states:

    “ 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. ”
    Clearly, this paragraph is written for userspace programs running on existing general purpose operating systems. So if you have only distributed such programs, then you do not need to include compiler, kernel, linker, and so on.

    Particularly in the case of cross-compilation for embedded platforms, the cross compiler for your specific hardware is very likely not something that is "normally distributed with ... the operating system".

    Therefore, in such cases, you have to provide the the exact version of your compiler toolchain that was used to create the executables that you have distributed. Please note that in most cases this will be GNU GCC, which is itself GPL licensed, so the GPL obligations will in turn apply to the toolchain, and you must release the complete corresponding source code to it as well.