The additional clause that requires release of source code for a SaaS host’s entire service. That is, if you are Amazon, and you offer a cloud database based on #MongoDB as part of your AWS service, the license forces you to open the source repos for the entire AWS service ... including the “secret sauce” that serves as the reason people go with Amazon instead of “Uncle Fred’s Discount Cloud Hosting and Breakfast Cafe.
The #SSPL license is intended to make it unprofitable to host the service as a cloud-based offering, so that companies whose business is based around cloud-based service hosting will be forced to buy a proprietary commercial license, and therefore is not “free”.
OTOH, the #AGPLv3 forces release of the source (as used in operating the service) of the specific software (as modified and in use) and its derivatives, but not of other software used in operating your service.
@musicman If I recall correctly, it is designed to prevent companies using SSPL licensed software to generate (substantial) profit, instead driving them to purchase a proprietary commercial license instead.
Think about how this would affect Amazon, Microsoft, Google, CenturyLink, and other large cloud hosting providers. This isn’t targeted at people like me, who spin up a server at home and run #MongoDB, #Redis, and similar services in a non-profit manner.
(I sympathize with companies who sponsor #FLOSS projects and find that the largest corporations in the world reap the benefit, but contribute little or nothing to the ongoing development and maintenance of the software. But going fake-open [“fauxpen”] is a case of the cure being worse than the disease.)
Role: Big Data Solutions Architect (#JanusGraph)
Location: Minneapolis, MN, Burlington, MA, Louisville, CO, Alameda, CA or Remote for the Candidate
Position Summary:
Perforce is seeking an Open Source Software Support Engineer (with JanusGraph experience) to join our OpenLogic team, responsible for providing support and services on Open Source technologies to our OpenLogic customers. This position will work closely with members from Support, Sales and Professional Services to assist in resolving a wide variety of customer issues.
This critical position demands a systems engineer with strong networking skills and some programming capabilities. You would be responsible for ensuring the success of our customers by effectively providing dependable and timely resolutions related to open source software.
Responsibilities:
Interact with end users on technical problems
Tier 1, 2 and 3 support for open source products
Drive resolution of those problems, which include:
Open source software issues
Questions around open source software usage
Questions around use and best practices
Review of the architecture and design where software is implemented
Conduct professional services and training engagements
Research, understand, and advocate open source software
Interact with various open source communities
Drive early resolution of issues
Be a part of the on-call rotation
Present knowledge via articles, blogs, and conference presentations
Requirements:
Minimum of 2 years of software development and design or systems administration or level 3-4 technical support experience
At least 2 years in a senior position ( senior/lead developer, engineer, or DBA)
Minimum 1 year implementation and troubleshooting experience on JanusGraph
10+ years of hands on experience working with database technologies
Strong RHEL/CentOS background required
Debian/Ubuntu, SUSE/openSUSE/SLES, other distro background a bonus
C, shell scripting, Python, etc
Linux distro package building a plus (rpm, deb, ipkg, etc)
Virtual Machine experience with qemu/kvm, Azure, AWS, VirtualBox, Vagrant
Database administration (not just db "power user") experience very desirable; postgresql/mysql/mariadb experience preferred
Experience working in production environments, especially enterprise/carrier environments
General experience a plus such as:
radius/Kerberos
ldap
ipa/idm
monitoring
vpn
containers
centralized systems management
automation (#ansible, #chef, #puppet, etc)
version control (git, etc)
security hardening (CIS, STIGS, PCI-DSS, etc)
Technical knowledge, skills and expertise in complex infrastructure, web-based software and enterprise software
Configured, installed, and maintained big data/nosql clusters at scale in a production environment
Experience tuning no sql/big data clusters for reliability and speed
Minimum 3 years implementation and troubleshooting experience on a combination of SQL and NoSQL databases (i.e. Oracle, MySQL, Postgres, MariaDB, MongoDB, Cassandra, Hadoop, etc.)
Preference given to candidates with implementation and troubleshooting experience on one or more of the following: ActiveMQ, CentOS, Apache Tomcat, PostgreSQL, Apache HTTP Server (httpd), Java Development Kit (JDK), Wildfly Application Server, Jenkins CI, Apache Kafka, or Apache Cassandra, Apache Cassandra, Apache Kafka, #ApacheSolr, #Couchbase, Docker CE, ElasticSearch, Kubernetes, #MongoDB, #Redis, #WSO2, Apache Nifi, #Kubespray, #Minio, #Foreman, Kiali, Terragrunt, #OpenLiberty, or #Kong
Role: JavaScript Solutions Architect ( #AngularJS)
Location: Minneapolis, MN, Burlington, MA, Louisville, CO, Alameda, CA or Remote for the Candidate
Position Summary:
Perforce is seeking an Open Source Software Support Engineer (with deep AngularJS experience) to join our OpenLogic team, responsible for providing support and services on Open Source technologies to our OpenLogic customers.
This critical position demands a software engineer with a strong programming skills and some networking capabilities. You would be responsible for ensuring the success of our customers by effectively providing dependable and timely resolutions related to open source software. The ideal candidate is expected to be self-motivated, proactive, results-oriented and able to provide a high level of customer satisfaction through the delivery of world-class technical support service
Responsibilities:
Interact with end users on technical problems
Tier 4 support for open source JavaScript products and tangential technologies
Drive resolution of those problems, which include:
Open source software issues
Questions around open source software usage
Questions around use and best practices
Review of the architecture and design where software is implemented
Conduct professional services and training engagements
Research, understand, and advocate open source software
Interact with various open source communities
Drive early resolution of issues
Present knowledge via articles, blogs, and conference presentations
Requirements:
Minimum of 10 years of software development and design, systems administration, or level 3-4 technical support experience
Minimum 5 years development, design, implementation, and troubleshooting experience on AngularJS
At least 2 years in a senior position ( senior/lead developer, engineer, or software architect)
Experience resolving remotely exploitable CVEs & cross-site scripting vulnerabilities
10+ years of hands on experience working w/ JavaScript technologies:
Highly-skilled JavaScript developer with extensive knowledge of theoretical Angular software engineering
Understanding of AJAX and #JavaScript DOM manipulation Techniques
Experience w/ RESTful services
Experience in JavaScript build tools like #Gulp or #Grunt
Familiar with JavaScript testing frameworks
Virtualization and cloud experience with qemu/kvm, #Azure, #AWS, VirtualBox, #Vagrant
Experience working in production environments, especially enterprise/carrier environments
Technical knowledge, skills & expertise in complex infrastructure, web-based software and enterprise software
Preference given to candidates with
implementation and troubleshooting experience on one or more of the following: #Node.js, #npm, #React, #Redux, Vue.js, Aurelia, Apache Cassandra, Jenkins CI, #DockerCE, #ElasticSearch, #Kubernetes, or #MongoDB
Experience migrating AngularJS to Angular
Experience transitioning AngularJS to other modern JavaScript solutions
Committer status on AngularJS product
Configured, installed, & maintained JavaScript applications at scale in a production environment
Experience tuning JavaScript for reliability & speed
Perforce is seeking an Open Source Software Support Engineer to join our OpenLogic team, responsible for providing support and services on Open Source technologies to our OpenLogic customers. This position will work closely with members from Support, Sales and Professional Services to assist in resolving a wide variety of customer issues. This critical position demands a systems engineer with strong networking skills and some programming capabilities. You would be responsible for ensuring the success of our customers by effectively providing dependable and timely resolutions related to open source software. The ideal candidate is expected to be self-motivated, proactive, results-oriented and able to provide a high level of customer satisfaction through the delivery of world-class technical support services.
Responsibilities:
Interact with end users on technical problems;
Tier 1, 2 and 3 support for open source products;
Drive resolution of those problems, which include:
Open source software issues
Questions around open source software usage
Questions around use and best practices
Review of the architecture and design where software is implemented
Conduct professional services and training engagements
Research, understand, and advocate open source software
Interact with various open source communities
Drive early resolution of issues
Be a part of the on-call rotation
Present knowledge via articles, blogs, and conference presentations.
Requirements:
Minimum of 2 years of software development and design or systems administration or level 3-4 technical support experience;
At least 2 years in a senior position ( senior/lead developer, engineer, or DBA);
Minimum 3 years implementation and troubleshooting experience on 3 or more of the following: #ActiveMQ, #CentOS, Apache Tomcat, #PostgreSQL, Apache HTTP Server (#httpd), Java Development Kit (#JDK), #Wildfly Application Server, #Jenkins CI, #ApacheKafka, or #ApacheCassandra;
Preference given to candidates with implementation and troubleshooting experience on one or more of the following: #ApacheCassandra, #ApacheKafka, #ApacheSolr, #Couchbase, #DockerCE, #ElasticSearch, #Kubernetes, #MongoDB, #Redis, #WSO2, #ApacheNifi, #Kubespray, #Minio, #Foreman, #Kiali, #Terragrunt, #OpenLiberty, or #Kong
Strong #RHEL/CentOS background required
#Debian/ #Ubuntu, #SUSE/ #openSUSE/ #SLES, other distro background a bonus
#C, shell scripting, #Python, etc;
#Linux distro package building a plus (#rpm, #deb, #ipkg, etc);
Virtual Machine experience with #qemu/ #kvm, #Azure, #AWS, #VirtualBox, #Vagrant;
database administration (not just db "power user") experience very desirable; #postgresql/ #mysql/ #mariadb experience preferred;
Experience working in production environments, especially enterprise/carrier environments;
General experience a plus such as: radius/Kerberos, ldap, ipa/idm, monitoring, vpn, containers, centralized systems management, automation (#ansible, #chef, #puppet, etc), version control (#git, etc), security hardening (CIS, STIGS, PCI-DSS, etc);
Technical knowledge, skills and expertise in complex infrastructure, web-based software and enterprise software;
Excellent written, verbal, and presentation skills;
Knowledge of open source packages;
Experience speaking at conferences/comfortable speaking in front of large crowds;
Fast and creative thinker, quick on their feet to respond quickly to complex and difficult problems Proven track record of acquiring strong proficiency in new technologies quickly.
I had a play & learn installation of #MongoDB, but found that I never used it after a few days, so I couldn’t even guess why your client’s installation is slow. I’m assuming adequate RAM and network bandwidth, fast SSDs, and no other services running on the same server or at least container. Could the workload be approaching the size where it is time to shard across multiple instances?
Remember when you first learned to use random-access files in a programming language? What did you learn? That you had to firmly set a length for each record and which contents which at what locations of each record.
So #MongoDB, Cassandra, and many other databases which use JSON are a big mental challenge just because that makes them so different.
To flesh that out a bit, but my current list is this:
#mongodb
#mysql
#httpd
#postgres
#kafka
#cassandra
#tomcat
#jboss / #wildfly
#eclipse
#java (enough to diagnose applications...honestly, with the others on the list that are built in java, I probably don't really need to do anything else with this one)
I think their real purpose was to make it impossible for SAAS vendors to operate anything dependent on #MongoDB without buying a commercial license instead of the SSPL.
(Would $CLOUD_VENDOR open source everything, including virtualization configs, systemd units, backup scripts in order to keep using MongoDB? Or would they perhaps fork the last truly free version, and together with others in similar straits, take over maintenance and development, cutting off the MongoDB corporate entity? Or visit #Apache's various #NoSQL projects and try out potential replacements?)
I looked briefly for a comparison of revenue trends pre-SSPL and post-SSPL, but saw nothing. I should probably devote some more time to it, but that will have to be another time.
This is another reason why the 'source available' folks are wrong. "Cloud" vendors may not be paying directly to use their software, but they pay people whose work days contribute huge amounts to a wide range of #FreeCode projects. Projects like the Linux kernel, without which 'source available' projects like #Redis, #MongoDB, and #ShareTribe, wouldn't have a viable business in the first place.