Prakash Senthil Vel
2022-10-05 03:27:20 +05:30
committed by GitHub
parent af9e4fc150
commit 2fed3572b2
5 changed files with 53 additions and 88 deletions

View File

@@ -24,7 +24,7 @@ import { SubnetInfo } from "./types";
import { containerForHeader } from "../Common/FormComponents/common/styleLibrary";
import PageHeader from "../Common/PageHeader/PageHeader";
import api from "../../../common/api";
import { ArrowRightLink, HelpIconFilled, LoginMinIOLogo } from "../../../icons";
import { ArrowRightLink, LoginMinIOLogo } from "../../../icons";
import { IAM_PAGES } from "../../../common/SecureComponent/permissions";
import LicensePlans from "./LicensePlans";
import { Link } from "react-router-dom";
@@ -216,11 +216,7 @@ const License = () => {
border: "1px solid #eaeaea",
display: "flex",
alignItems: "center",
justifyContent: "center",
flexFlow: {
sm: "row",
xs: "column",
},
justifyContent: "flex-end",
}}
>
<Box
@@ -262,71 +258,6 @@ const License = () => {
</Link>
</Box>
<div className={classes.pageTitle}>
<Box
sx={{
display: "flex",
alignItems: "center",
"& .min-icon": {
height: "18px",
width: "18px",
},
}}
>
<HelpIconFilled />
<Box
sx={{
fontSize: "16px",
marginLeft: "15px",
}}
>
Choosing between GNU AGPL v3 and Commercial License
</Box>
</Box>
<br />
<Box
sx={{
fontSize: "14px",
fontWeight: "normal",
lineHeight: "17px",
}}
>
If you are building proprietary applications, you may want to
choose the commercial license included as part of the Standard
and Enterprise subscription plans. Applications must otherwise
comply with all the GNU AGPLv3 License & Trademark obligations.
Follow the links below to learn more about the compliance
policy.
</Box>
<Box component="ul">
<li>
<a
href={`https://min.io/compliance?ref=${
operatorMode ? "op" : "con"
}`}
className={classes.openSourcePolicy}
target="_blank"
rel="nofollow noopener noreferrer"
>
Learn more about GNU AGPL v3
</a>
</li>
<li>
<a
href={`https://min.io/logo?ref=${
operatorMode ? "op" : "con"
}`}
className={classes.openSourcePolicy}
target="_blank"
rel="nofollow noopener noreferrer"
>
MinIO Trademark Compliance
</a>
</li>
</Box>
<div style={{ clear: "both" }} />
</div>
<Box
sx={{
padding: "40px 0px 40px 0px",

View File

@@ -20,6 +20,7 @@ import { Box } from "@mui/material";
import { Button } from "mds";
import { AGPLV3DarkLogo } from "../../../icons";
import { setLicenseConsent } from "./utils";
import LicenseLink from "./LicenseLink";
const LicenseConsentModal = ({
isOpen,
@@ -73,8 +74,8 @@ const LicenseConsentModal = ({
}}
>
By using this software, you acknowledge that MinIO software is
licensed under the GNU AGPL v3, for which, the full text can be found
here:{" "}
licensed under the <LicenseLink />, for which, the full text can be
found here:{" "}
<a
href={`https://www.gnu.org/licenses/agpl-3.0.html`}
rel="noreferrer noopener"

View File

@@ -0,0 +1,32 @@
// This file is part of MinIO Console Server
// Copyright (c) 2022 MinIO, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useSelector } from "react-redux";
import { selOpMode } from "../../../systemSlice";
const LicenseLink = () => {
const isOperatorMode = useSelector(selOpMode);
const refFrom = isOperatorMode ? "op" : "con";
return (
<a className="link-text" href={`https://min.io/compliance?ref=${refFrom}`}>
GNU AGPL v3
</a>
);
};
export default LicenseLink;

View File

@@ -197,7 +197,9 @@ const PricingFeatureItem = (props: {
return (
<Box className="feature-item" style={props.style}>
<Box className="feature-item-info">
<div className="xs-only">{props.featureLabel} </div>
<div className="xs-only">
{getRenderValue(props.featureLabel || "")}
</div>
<Box className="plan-feature">
<div>{getRenderValue(props.label || "")}</div>
{getRenderValue(props.detail)}
@@ -232,6 +234,7 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => {
const getCommunityPlanHeader = () => {
return (
<PlanHeader
key={"community-header"}
isActive={isCommunityPlan}
isXsViewActive={isXsViewCommunity}
title={"community"}
@@ -251,6 +254,7 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => {
const getStandardPlanHeader = () => {
return (
<PlanHeader
key={"standard-header"}
isActive={isStandardPlan}
isXsViewActive={isXsViewStandard}
title={"Standard"}
@@ -270,6 +274,7 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => {
const getEnterpriseHeader = () => {
return (
<PlanHeader
key={"enterprise-header"}
isActive={isEnterprisePlan}
isXsViewActive={isXsViewEnterprise}
title={"Enterprise"}
@@ -457,17 +462,12 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => {
textAlign: "center",
"@media (max-width: 600px)": {
display: "flex",
flexFlow: "row",
alignItems: "center",
justifyContent: "space-between",
justifyContent: "space-evenly",
width: "100%",
"& .xs-only": {
display: "block",
flex: 1,
},
"& .plan-feature": {
flex: 1,
textAlign: "center",
paddingRight: "10px",
},
@@ -680,7 +680,7 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => {
if (yesIcon) {
return (
<Box className="feature-item">
<Box className="feature-item" key={`ent-feature-yes${fi.id}`}>
<Box className="feature-item-info">
<div className="xs-only"></div>
<Box className="plan-feature">

View File

@@ -15,6 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import { Box } from "@mui/material";
import LicenseLink from "./LicenseLink";
export const LICENSE_PLANS = {
COMMUNITY: "community",
@@ -130,13 +131,13 @@ export const COMMUNITY_PLAN_FEATURES = [
>
<span>
Designed for developers who are building open source applications in
compliance with the GNU AGPL v3 license and are able to support
themselves. It is fully featured. If you distribute, host or create
derivative works of the MinIO software over the network, the GNU
AGPL v3 license requires that you also distribute the complete,
corresponding source code of the combined work under the same GNU
AGPL v3 license. This requirement applies whether or not you
modified MinIO.
compliance with the <LicenseLink /> license, MinIO Trademarks and
are able to self support themselves. It is fully featured. If you
distribute, host or create derivative works of the MinIO software
over the network, the <LicenseLink /> license requires that you also
distribute the complete, corresponding source code of the combined
work under the same <LicenseLink /> license. This requirement
applies whether or not you modified MinIO.
</span>
</Box>
);