Monday, January 21, 2019

MongoDB - SSPL

https://www.mongodb.com/press/mongodb-issues-new-server-side-public-license-for-mongodb-community-server

MongoDB Issues New Server Side Public License for MongoDB Community Server

New License Leads the Way for Open Source in the Cloud Era
NEW YORK, NY - October 16, 2018 – Today MongoDB, Inc. (Nasdaq: MDB), the leading modern, general purpose database platform, issued a new software license, called Server Side Public License (SSPL), for MongoDB Community Server. The license clearly and explicitly states the conditions of deploying MongoDB - or any other open source project licensed under the SSPL - as a service. All versions of MongoDB’s Community Server released after today, including patch fixes for prior versions, will be licensed under the SSPL.
MongoDB has become one of the most popular databases in the market, adopted by organizations of all sizes across many industries and geographies. MongoDB was previously licensed under the GNU AGPLv3 (AGPL), which meant companies who wanted to modify and run MongoDB as a publicly available service had to open source their software or obtain a commercial license from MongoDB. However, MongoDB’s popularity has led some organizations to test the boundaries of the AGPL. In response, MongoDB has created the SSPL and submitted it to the Open Source Initiative for approval.
The SSPL builds on the spirit of the AGPL, but clarifies the condition for providing open source software as a service. The license retains all of the same freedoms that the open source community had with MongoDB under the AGPL: freedom to use, review, modify and redistribute the software. The only substantive change is an explicit condition that any organization attempting to exploit MongoDB as a service must open source the software that it uses to offer such service. This license change will not impact customers who have purchased a commercial license from MongoDB.
“The market is increasingly consuming software as a service, creating an incredible opportunity to foster a new wave of great open source server side software. Unfortunately, once an open source project becomes interesting, it is too easy for cloud vendors who have not developed the software to capture all of the value while contributing little back to the community,” said Eliot Horowitz, CTO and co-founder, MongoDB. “We have greatly contributed to, and benefited from, open source, and are in a unique position to lead on an issue impacting many organizations. We hope this new license will help inspire more projects and protect open source innovation.”
“We are big believers in open source. It leads to more valuable, robust and secure software. However, it is important that open source licenses evolve to keep pace with the changes in our industry,” said Dev Ittycheria, President & CEO, MongoDB. “We have invested approximately $300M in R&D over the past decade to offer a modern, general purpose, open source database for everyone. With the added protection of the SSPL, we can continue to invest in R&D and further drive innovation and value for the community.”
Resources
Server Side Public License
Blog from MongoDB CTO and co-founder Eliot Horowitz
About MongoDB
MongoDB is the leading modern, general purpose database platform, designed to unleash the power of software and data for developers and the applications they build. Headquartered in New York, MongoDB has more than 7,400 customers in over 100 countries. The MongoDB database platform has been downloaded over 40 million times and there have been more than one million MongoDB University registrations.
Forward-Looking Statements
This press release includes certain “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933, as amended, or the Securities Act, and Section 21E of the Securities Exchange Act of 1934, as amended. These forward-looking statements include, but are not limited to, plans, objectives, expectations and intentions and other statements contained in this press release that are not historical facts and statements identified by words such as “anticipate,” “believe,” “continue,” “could,” “estimate,” “expect,” “intend,” “may,” “plan,” “project,” “will,” “would” or the negative or plural of these words or similar expressions or variations, including statements concerning the licensing of future releases of Community Server, the market opportunity for software as a service and open source server side software, the benefits of open source innovation and our future investment in research and development. These forward-looking statements reflect MongoDB’s current views about its plans, intentions, expectations, strategies and prospects, which are based on the information currently available to it and on assumptions it has made. Although we believe that our plans, intentions, expectations, strategies and prospects as reflected in or suggested by those forward-looking statements are reasonable, we can give no assurance that the plans, intentions, expectations or strategies will be attained or achieved. Furthermore, actual results may differ materially from those described in the forward-looking statements and are subject to a variety of assumptions, uncertainties, risks and factors that are beyond our control including, without limitation: whether our new license is approved by the Open Source Initiative; our limited operating history; failure of our database platform to satisfy customer demands; the effects of increased competition; our ability to effectively expand our sales and marketing organization; our ability to continue to build and maintain credibility with the developer community; our ability to add new customers or increase sales to our existing customers; our ability to maintain, protect, enforce and enhance our intellectual property; the growth and expansion of the market for database products and our ability to penetrate that market; our ability to maintain the security of our software and adequately address privacy concerns; our ability to manage our growth effectively and successfully recruit additional highly-qualified personnel; the price volatility of our common stock; and those risks detailed from time-to-time under the caption “Risk Factors” and elsewhere in our Securities and Exchange Commission filings and periodic and current reports, including our Annual Report on Form 10-K filed on March 30, 2018, as well as future filings and reports by us. Except as required by law, we undertake no duty or obligation to update any forward-looking statements contained in this release as a result of new information, future events, changes in expectations or otherwise.

Monday, January 25, 2010

winexe

http://eol.ovh.org/winexe/ Example: winexe --user= --password= // 'cmd /C set' winexe remotely executes commands on WindowsNT/2000/XP/2003 systems from GNU/Linux (probably also other Unices capable to compile Samba4).
  1. Requirements
  2. Usage
  3. How does it work
  4. How to get it
  5. Remarks
  6. Changelog

Requirements

  • Linux/Unix side:
    • Working network
    • Samba is NOT neccessary
  • Windows side:
    • Working network
    • Standard Windows installation with enabled remote sharing and administration (Windows XP Home do not support remote administration). What does it mean exactly:
      • Enabled services: Workstation, Server
      • "Windows Network" is running and "Printer and File Sharing" are activated
      • Enabled "Remote IPC" and "Remote Admin" shares. To verify it, in cmd box run command "net share", and check if there are ADMIN$ and IPC$ shares. In Windows XP to enable it you should turn off "Simple sharing" in "Control Panel\Folder Options\View\Use simple file sharing".
      • Account with administrative privileges and not empty password
      • Firewall rules allowing traffic between both machines

Usage

winexe started without arguments shows list of options, using "--help" will show their descriptions. Most of the tasks can be done using syntax:
winexe -U [Domain/]User%Password //host command
Where 'host' can be given as ip number or DNS hostname and 'command' is a command which will be run on remote system.
Examples:

# winexe -U HOME/Administrator%Pass123 //192.168.0.10 "ipconfig /all"

# winexe -U HOME/Administrator%Pass123 //host 'cmd /C dir C:\'

# winexe -U HOME/Administrator%Pass123 //host.com 'cmd /C net stop wuauserv && net start wuauserv && echo AutoUpdates service restarted'

# cat | winexe -U HOME/Administrator%Pass123 //host cmd <<EOF
>net stop wuauserv
>net start wuauserv

>echo AutoUpdates service restarted
>exit
>EOF

Many options of winexe are the same as for Samba tools and you can check for their description in Samba documentation. Below description of most important options:
winexe specific
hostWindows hostname provided as ip address or DNS name. Using NETBIOS names should be also possible after playing with Samba specific options.
commandCommand which will be run on remote system. If command contains spaces and/or parameters use quotes and/or double quotes, ex. '"long name.exe" -option -"option with spaces"', if you like to run internal cmd interpreter command use "cmd /C" syntax, ex. "cmd /C ver". If command interact with desktop GUI check option --interactive.
--uninstallUninstall winexesvc service after remote execution
--reinstallReinstall winexesvc service before remote execution
--systemRun command using SYSTEM account
--runas=[DOMAIN/]USERNAME%PASSWORDRun command as user (BEWARE: password is sent in cleartext over net)
--interactive=0|1Desktop interaction: 0 - disallow, 1 - allow. If you allow use also --system switch (Win requirement). Windows Vista do not support this option.
--ostype=0|1|2OS type: 0 - 32bit, 1 - 64bit, 2 - winexe will decide. Determines which version (32bit/64bit) of service will be installed.
General
-U [DOMAIN/]USERNAME[%PASSWORD]User with admin privileges for Windows authentication. If not overrided by other options 'command' will be run on this account. If you omit password you will be prompted.
-d DEBUGLEVELSet debug level, 0 - no debug (default), 11 - highest level (it is safe to use bigger numbers)
Exit code: winexe returns exit code of remote process.

How does it work

  1. winexe connects to IPC$ share of host.
  2. Next it tries to open winexesvc control named pipe (to make things easier pipe is called "ahexe" :)).
  3. If there is not such pipe, winexe copies winexesvc.exe to ADMIN$ share, creates winexesvc service, starts it and tries to connect to control pipe again.
  4. After succesfull connection it passess optional parameters (ex. --runas, --system) and the command itself to winexesvc process via the pipe.
  5. winexesvc creates two pipes: ahexec_stdio%08X, and ahexec_stderr%08X(where %08X is replaced by unique number) and runs command with I/O redirected to those pipes.
  6. winexe redirects those pipes to Linux console.
  7. After command exit winexe return its exit code to system.

How to get it

winexe sources are hosted on Zenoss together with DCOM/WMI client for Linux. You can get sources from here: winexe-source-081123.tar.bz2 How to get it:
  • Precompiled version (linked statically)
    • Download winexe-static-081123.bz2
    • Unpack: bunzip2 winexe-static-081123.bz2
    • Change permissions if necessary: chmod a+x winexe
    • Use it
    • FYI: During static linking I have recieved following warnings:
      bin/static/libldb.a(ldb_modules.o): In function `ldb_try_load_dso':
      ldb_modules.c:(.text+0x4c5): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libauth.a(auth_unix.o): In function `talloc_getpwnam':
      auth_unix.c:(.text+0x3f6): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libheimdal_krb5.a(get_default_principal.o): In function `_krb5_get_default_principal_local':
      get_default_principal.c:(.text+0x132): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libheimdal_krb5.a(addr_families.o): In function `krb5_parse_address':
      addr_families.c:(.text+0x1780): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libsamba-socket.a(socket_ipv6.o): In function `ipv6_tcp_get_peer_name':
      socket_ipv6.c:(.text+0xa12): warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libsamba-util.a(system.o): In function `sys_gethostbyname':
      system.c:(.text+0x19): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libsamba-socket.a(socket_ipv6.o): In function `interpret_addr6':
      socket_ipv6.c:(.text+0x76): warning: Using 'gethostbyname2' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      bin/static/libheimdal_krb5.a(get_port.o): In function `krb5_getportbyname':
      get_port.c:(.text+0x20): warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
      
      GLIBC version used for linking: 2.9 WARNING:Users reports that static version often crashes on systems with different GLIBC version You can check GLIBC version using command: ldd --version
  • Compile from sources
    • Install necessary packages (gcc, svn, *-devel....)
    • Get sources from winexe-source-081123.tar.bz2.
    • Compile samba according to README file:
      • cd to unpacked tar.bz2 sources
      • ./autogen.sh
      • ./configure
      • make proto bin/winexe
    • Compiled file will be located in wmi/Samba/source/bin/winexe
    • Install winexe:
      install -s wmi/Samba/source/bin/winexe /usr/local/bin/winexe
I have not tested those instructions step by step, but I hope idea is clear.

Remarks

  • winexe is very quiet, if you want to have some (not too much) debug info run with -d 1 parameter.
  • wmi/Samba/source/winexe/winexesvc can be compiled by crosscompiler or in Windows using Cygwin or Mingw32. If you compile service under win after succesfull make, copy winexesvc_exe.c into wmi/Samba/source/winexe/winexesvc/ directory. You can also use 'precompiled' version of winexesvc_exe.c, which is included in svn, you can 'touch' it to fool compiler if neccessary.

Changelog

Changelog:
0.90 - 22/11/08 Added 64bit version of winexesvc, and option --ostype=0|1|2.
   Where os type can be(0 - 32bit, 1 - 64bit, 2 - winexe will decide).                                                                     
0.80 - 26/10/07 Added --interactive option.
   winexesvc is replaced only if version differs on more than last digit.
0.77 - 11/10/07 Fixed bug causing winexe crash during service uninstallation.
0.76 - 10/10/07 Service status is checked during service (un)installation.
   Corrected service installation code(case of deleted winexesvc.exe file).
0.75 - 09/07/07 Added workaround for delayed pipe handle destruction(error 0x000000E7).
   Removed token handle leaks in case of error condition.
0.74 - 04/07/07 Added version checking and automatic service reinstallation
   Pipe names now depends on ProcessID(should solve issue with unterminated winexe processes)
0.73 - 29/06/07 Corrected bug in signal handling
0.72 - 26/06/07 Added winexe INT/TERM signal handling
0.71 - 22/05/07 Workarounds for win2003sp2 service (re)installation issues
   Removed token handle leaks in winexesvc
0.7 - 25/07/06 Making code more pretty.
   By default commands run on user's account.
   Added --system - commands run on system account.
   Added --runas - any user can be impersonated(BEWARE: passwords are sent in clear text).
   Many changes in winexesvc.
0.61 - 07/07/06 Fixed bug in svcctl.idl
   Changed types of 'dependencies' and 'password' params in CreateServiceW.
0.6 - 07/07/06 svcctl.idl cosmetics
   Linux code style applied, semi automatic.
   Removed // style comments.
   Changed includes  to 

0.5 - 06/07/06 Cleaned up winexe/service code.
   Changed deps in winexe/config.mk.
   Renamed directory service to winexesvc.
   STDIN read corrected.
   async_write serialized - now server should receive input in correct order.
0.4 - 02/07/06 Added dependencies in winexe/config.mk to auto rebuild service.
   Turned off timeouts - proces do not disconnect after 60sec.
   Added some debug messages.
   Removed small leaks in winexesvc.
0.3 - 02/07/06 winexe is fully integrated with smb_build system. Now there is
   no need to separately compile winexe/service. I have also removed symlink
   to winexesvc_exe.c, should be cleaner.
0.2 - 02/07/06 Now it works with NT - all pipes are created with security
   descriptor allowing admins to open it.
   Added options --reinstall/--uninstall.
   Added error messages, cleaned debug messages(-d 1).
   Some code cleaning.
   Added 'precompiled' winexe/service/winexesvc_exe.c, for users without
   crosscompiler or windows compile enironment.
0.1 - 01/07/06 In winexe dir added link to winexe/service/winexesvc_exe.c,
   I am not sure if patch utility supports it.
0.0 - 30/06/06 Initial release

Donations

You can support developement of winexe by making donations via PayPal or Moneybookers:
Donate:

My e-mail: andrzej.hajda at wp.pl

Sunday, January 28, 2007

MySQL - Oracle

A friend was mentioning that there is a large business entity that uses Oracle for write operation and many MySQL servers for read operation. The possible thinking on the risks of MySQL might be to replace MySQL to Oracle - in case MySQL isn't able to meet the needs eventually.

Tuesday, December 26, 2006

GPL - monopoly?

Isn't GPL monopolizing the Licensing arena? Why isn't some one crying foul? There is probably more GPL licenses (contracts) in the software world than all the commercial software licenses (contracts) combined. This sounds like a risk as much as large companies depending on Microsoft doc format for documents used in their organization. Lots of small licenses are no more being used any more. GPL is coming out with multiple versions. Isn't this more like Microsoft in the 80s & 90s with newer products (monopolizing the s/w segment)?

Wednesday, May 11, 2005

SipxPhone

I downloaded the open source sipXphone and it is really neat to test/use as SIP phone. Problem is in it's quality (some times).

Monday, April 04, 2005

Getting http/ftp(s)

Fetching Http products: curl - http://curl.haxx.se/ wget - http://www.gnu.org/software/wget/wget.html snarf - http://www.xach.com/snarf/ pavuk - http://www.idata.sk/~ondrej/pavuk/ fget - http://www.feep.net/fget/ fetch - CURL: cURL is having an executable and also library for integration in to many platforms/languages. Stumbled on cookie related issue with curl... This is on the top priority (first item) in the to do list. CURL currently http://curl.haxx.se/docs/todo.html Introduce an interface to libcurl that allows applications to easier get to know what cookies that are received. CURLINFO_COOKIELIST to get a curl_slist with cookies (netscape/mozilla cookie file formatted), and CURLOPT_COOKIELIST to set a list of cookies (using the same format). http://curl.haxx.se/mail/lib-2004-12/0195.html WGET: gets me large files faster than IE/Firefox - using all the available bandwidth. I can also get reccursively - basically mirroring simple static html page domains. There are other small programs on many languages including perl/C to do this task.

Open Source Business perspective

1. Get your name out 2. Use floating resource 3. Streghten your resume 4. Get paid for support 5. Get paid for prioratizing business's priority bugs 6. Provide a pool of experts in the subject area. 7. Part of the community 8. Show off your talent by opening out your source code rather than hiding your bad code in the pretext of various legal protections. Once you have a product, other possibilities include: 1. installation help 2. customization help 3. script, automization 4. higher priority on piad customers bugs 5. programming help in the language/platform of your choice other than the one basically supported 6. debugging on customers OS/site/host 7. porting to customers platform - including custom platform 8. helping customer's development team to use the product properly 8. Custom products based on the core product

Friday, February 25, 2005

Open Source download URL

MySQL http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-essential-4.1.10-win32.msi/from/http://mysql.zawodny.com/ Apache http://apache.mirrors.redwire.net/httpd/binaries/win32/apache_2.0.53-win32-x86-no_ssl.msi ActivePerl http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811-MSWin32-x86-122208.msi PHP http://us3.php.net/get/php-4.3.10-installer.exe/from/us2.php.net/mirror