Article 4ZS3W Software Licensing Question

Software Licensing Question

by
slac-in-the-box
from LinuxQuestions.org on (#4ZS3W)
Howdy LQ:

Let's talk philosophy and ethics:

I've been trying to learn more and understand the nuances of software licensing, and so far, the gnu philosophy best aligns with my own. Therefore, I am careful to choose software licensed with variants of GPL.

Recently I started a private social media instance running pleroma, licensed AGPL.

While hacking away on pleroma, I notice that it uses a cropper.js, licensed MIT, to automate creating of css stylesheets; below is the "show source" when visiting a pleroma instance:

Code:<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no"><title>Pleroma</title><!--server-generated-meta--><link rel=icon type=image/png href=/favicon.png><link href=/static/css/vendors~app.b2603a50868c68a1c192.css rel=stylesheet><link href=/static/css/app.ae04505b31bb0ee2765e.css rel=stylesheet><link href=/static/fontello.1581007281335.css rel=stylesheet></head><body class=hidden><noscript>To use Pleroma, please enable JavaScript.</noscript><div id=app></div><script type=text/javascript src=/static/js/vendors~app.c26cf2fc57e9c1975e8d.js></script><script type=text/javascript src=/static/js/app.0aac253187b2af873849.js></script></body></html>And if I examine one of the referenced stylesheets:
Code:/*!
* Cropper.js v1.4.3
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
* Date: 2018-10-24T13:07:11.429Z
*/

.cropper-container {
direction: ltr;
font-size: 0;
line-height: 0;
position: relative;
-ms-touch-action: none;
touch-action: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.cropper-container img {
display: block;
height: 100%;
image-orientation: 0deg;
max-height: none !important;
max-width: none !important;
min-height: 0 !important;
min-width: 0 !important;
width: 100%;
}

.cropper-wrap-box,
.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
}

.cropper-wrap-box,
.cropper-canvas {
overflow: hidden;
}

.cropper-drag-box {
background-color: #fff;
opacity: 0;
}

.cropper-modal {
background-color: #000;
opacity: .5;
}

.cropper-view-box {
display: block;
height: 100%;
outline-color: rgba(51, 153, 255, 0.75);
outline: 1px solid #39f;
overflow: hidden;
width: 100%;
}

.cropper-dashed {
border: 0 dashed #eee;
display: block;
opacity: .5;
position: absolute;
}

.cropper-dashed.dashed-h {
border-bottom-width: 1px;
border-top-width: 1px;
height: calc(100% / 3);
left: 0;
top: calc(100% / 3);
width: 100%;
}

.cropper-dashed.dashed-v {
border-left-width: 1px;
border-right-width: 1px;
height: 100%;
left: calc(100% / 3);
top: 0;
width: calc(100% / 3);
}

.cropper-center {
display: block;
height: 0;
left: 50%;
opacity: .75;
position: absolute;
top: 50%;
width: 0;
}

.cropper-center:before,
.cropper-center:after {
background-color: #eee;
content: ' ';
display: block;
position: absolute;
}

.cropper-center:before {
height: 1px;
left: -3px;
top: 0;
width: 7px;
}

.cropper-center:after {
height: 7px;
left: 0;
top: -3px;
width: 1px;
}

.cropper-face,
.cropper-line,
.cropper-point {
display: block;
height: 100%;
opacity: .1;
position: absolute;
width: 100%;
}

.cropper-face {
background-color: #fff;
left: 0;
top: 0;
}

.cropper-line {
background-color: #39f;
}

.cropper-line.line-e {
cursor: ew-resize;
right: -3px;
top: 0;
width: 5px;
}

.cropper-line.line-n {
cursor: ns-resize;
height: 5px;
left: 0;
top: -3px;
}

.cropper-line.line-w {
cursor: ew-resize;
left: -3px;
top: 0;
width: 5px;
}

.cropper-line.line-s {
bottom: -3px;
cursor: ns-resize;
height: 5px;
left: 0;
}

.cropper-point {
background-color: #39f;
height: 5px;
opacity: .75;
width: 5px;
}

.cropper-point.point-e {
cursor: ew-resize;
margin-top: -3px;
right: -3px;
top: 50%;
}

.cropper-point.point-n {
cursor: ns-resize;
left: 50%;
margin-left: -3px;
top: -3px;
}

.cropper-point.point-w {
cursor: ew-resize;
left: -3px;
margin-top: -3px;
top: 50%;
}

.cropper-point.point-s {
bottom: -3px;
cursor: s-resize;
left: 50%;
margin-left: -3px;
}

.cropper-point.point-ne {
cursor: nesw-resize;
right: -3px;
top: -3px;
}

.cropper-point.point-nw {
cursor: nwse-resize;
left: -3px;
top: -3px;
}

.cropper-point.point-sw {
bottom: -3px;
cursor: nesw-resize;
left: -3px;
}

.cropper-point.point-se {
bottom: -3px;
cursor: nwse-resize;
height: 20px;
opacity: 1;
right: -3px;
width: 20px;
}

@media (min-width: 768px) {
.cropper-point.point-se {
height: 15px;
width: 15px;
}
}

@media (min-width: 992px) {
.cropper-point.point-se {
height: 10px;
width: 10px;
}
}

@media (min-width: 1200px) {
.cropper-point.point-se {
height: 5px;
opacity: .75;
width: 5px;
}
}

.cropper-point.point-se:before {
background-color: #39f;
bottom: -50%;
content: ' ';
display: block;
height: 200%;
opacity: 0;
position: absolute;
right: -50%;
width: 200%;
}

.cropper-invisible {
opacity: 0;
}

.cropper-bg {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');
}

.cropper-hide {
display: block;
height: 0;
position: absolute;
width: 0;
}

.cropper-hidden {
display: none !important;
}

.cropper-move {
cursor: move;
}

.cropper-crop {
cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
cursor: not-allowed;
}

/*# sourceMappingURL=vendors~app.b2603a50868c68a1c192.css.map*/I thought that the moment software was distributed with AGPL, that all of it's forks and everything else has to stay AGPL. And thus, I figured that pleroma used agpl components.

I don't want to bother developers about stupid licensing issues. I'm just trying to understand. Can software licensed AGPL, once distributed, make use of components that use other licensing?

IMHO, the gnu variants are about eliminating blobs (executable binary files for which there is no shared source code); and an MIT license will allow blobs in distributed forks. So basically, it seems to me, that by using cropper.js, the pleroma developers are potentially allowing an area for blobs in pleroma, negating the intent of the gnu.

Perhaps I misunderstand the licenses. Perhaps its just the fine print that nobody bothers reading while clicking the "Agree" check boxes so the software will work.

But I've heard somewhere, and experience has confirmed: Quote:
the large print giveth what the fine print taketh away.

So I started reading the fine print. I've had to delete nearly all my accounts; as I don't agree with many of the terms and conditions I had checked as a matter of course. Software licensing IS important, even though it seems like more bs tos with a checkbox: tune in, and check out!latest?d=yIl2AUoC8zA latest?i=bTC0Kf_JYQk:HhJ-sVRlTeM:F7zBnMy latest?i=bTC0Kf_JYQk:HhJ-sVRlTeM:V_sGLiP latest?d=qj6IDK7rITs latest?i=bTC0Kf_JYQk:HhJ-sVRlTeM:gIN9vFwbTC0Kf_JYQk
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments