Delphi / C++Builder Community Edition の知られざる制限 [小ネタ]

# はじめに
Delphi / C++Builder Community Edition は Embarcadero がリリースしている無償の Object Pascal / C++ 統合開発環境です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/10e2c9a2-2bba-8115-20c3-8d8f2756ec86.png)

Community Edition では、Windows / macOS / iOS / Android 用のアプリケーションを開発する事ができます。

| 製品 | Windows<br>32bit | Windows<br>64bit | macOS<br>64bit | iOS<br>64bit |  Android<br>32bit | Android<br>64bit | Linux<br>64bit | 
|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| Delphi CE | 〇 | 〇 | 〇 |  〇 |  〇 |  〇 | × | 
| C++Builder CE | 〇 | 〇 | × | × | 〇 | × | × |

Community Edition の現在のバージョンは **10.4.2 Sydney** ベースとなっています [^1]。有償版の最新版は **11.3 Alexandria** で [^1]、搭載されているコンパイラにも差異があります。

**See also:**
 - [Delphi Community Edition (Embarcadero)](https://www.embarcadero.com/jp/products/delphi/starter)
 - [C++ Builder Community Edition (Embarcadero)](https://www.embarcadero.com/jp/products/cbuilder/starter)


# Community Edition の制限
利用資格は次のようになっています。Delphi のものですが、C++Builder も同様です。

```
個人開発者の場合、自分で使用するアプリケーションのための開発、無料のアプリケーション、
有料のアプリケーション開発のためにDelphi Community Editionを使用することができます。
有料のアプリケーションを開発する場合、その売上が年間5,000 USドルを超えた場合には、
上位エディションへとアップグレードする必要があります。

売上が年間5,000 USドルに満たない小規模な組織または企業であれば、
Delphi Community Editionを使用することができます。
ただし、企業の年間売上が5,000 USドルを超えた場合、
あるいは５名を超える開発者を抱えるようになった場合には、
上位エディションへとアップグレードする必要があります。
```

## 知られている制限
細かい制限については **Delphi / C++Builder Community Edition - Q&A** に記載されています。

 - [Delphi / C++Builder Community Edition - Q&A (JA)](https://www.embarcadero.com/jp/products/delphi/starter/faq)
 - [Delphi / C++Builder Community Edition - Q&A (EN)](https://www.embarcadero.com/products/delphi/starter/faq)

たとえば、次のような制限です。これらはよく知られています。

 - Delphi CE と C++Builder CE を同時にインストールできない。
 - CE を同じバージョンの他の製品と同時にインストールできない。
 - 同一ネットワーク (サブネット) 内で 5 台以上同時に CE を使えない (実際には 3 台以上だった気が)。
 - フリーソフトであっても、社内アプリを作成する目的では使えない。

:::note warn
`社内アプリを作成する目的では使えない` ので、Community Edition をインストールする際に会社のメアドを使いまわすのはやめましょう。「李下に冠を正さず」です！
:::

## 知られていない制限
Delphi / C++Builder Community Edition には、**使用許諾 (EULA)** にも書かれていない制限があります。この制限を知るには 2 つの条件を満たす必要があります。

 1. Delphi / C++ Builder Community Edition を **72 時間以上稼働**させる。
 2. その間、**ネットワークを遮断**する (スタンドアロンで使う)。

この記事を書く 3 日前に Delphi Community Edition をスタンドアロン環境で起動しておきました。さてどうなったでしょう？

ん？何か出ていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/98f78555-23b4-b4e2-aa6c-f614ec7be5d0.png)
これが Delphi / C++Builder Community Edition の知られざる制限です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/fb9ee9ae-2c92-5b0c-853e-117884808bb5.png)

```
Community Edition の仕様資格

Community Edition にはインターネット接続が必要であり、オフラインで使用できるのは 72 時間のみです。
今後 Community Edition の使用を続行するには、インターネットに接続してください。
低収益および非営利の使用条件については、EULA をご確認ください。

ソフトウェアライセンスおよびサポート契約の表示
```

恐らく <font color="Crimson">FAQ や EULA のどこにも書かれていない制限</font>です。

:::note
ダイアログの下の方に `ソフトウェアライセンスおよびサポート契約の表示` というリンクがありますが、押しても何も起きません (IE で開こうとしてる？)。このリンクがネット上にある EULA へのものだとしたらそもそもネットに繋いでないので読めませんよね。
:::

:::note warn
EULA にある、
> Embarcaderoは、監査目的および、製品およびサービス向上のため、Community Edition の使用に関する情報を収集します。

これが件の制限に関連するものだと思いますが、流石にこの一文で 72 時間無通信制限があるとは読めない気がします。
:::

**See also:**

 - [ソフトウェア使用許諾およびサポート契約書 (Embarcadero)](https://www.embarcadero.com/jp/products/rad-studio/rad-studio-eula)
 - [個人情報取扱の方針 (Idera)](https://www.ideracorp.com/Legal/Embarcadero/PrivacyStatementJP)

## その他の制限

### ・付属するソースコードの改変
Community Edition では RTL / VCL / FMX ソースコードを読む事は可能ですが、それを改変してリンクする事は許可されていない模様です。

以前、ソースコードの付属しない **Starter Edition** において製品のバグを修正するのにソースコード改変という手法が使えずに困った事があったのをすっかり忘れてらっしゃるようです。

**See also:**

 - [修正したソースコード (.pas) を Delphi プロジェクトに適用させる方法 (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/%E4%BF%AE%E6%AD%A3%E3%81%97%E3%81%9F%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89(.pas)%E3%82%92Delphi%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%95%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95) 
 - [修正したソースコード (.pas) を C++Builder プロジェクトに適用させる方法 (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/%E4%BF%AE%E6%AD%A3%E3%81%97%E3%81%9F%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89(.pas)%E3%82%92C%2B%2BBuilder%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%95%E3%81%9B%E3%82%8B%E6%96%B9%E6%B3%95) 
 - [Delphi 製品エディション (Embarcadero)](https://www.embarcadero.com/jp/products/delphi/product-editions) &lt;- "ライブラリのソースコード" をクリック
 - [C++Builder 製品エディション (Embarcadero)](https://www.embarcadero.com/jp/products/cbuilder/product-editions) &lt;- "ライブラリのソースコード" をクリック

# おわりに
小ネタでした。72 時間の奴は妙ちくりんな制限ですが、**デートクラック** を警戒したものなのでしょうかね？

そもそも Community Edition はインターネットからダウンロードして、ネットから差分を持ってくる ESD インストーラでインストールしていますし、PC をネットに繋がない事も、IDE を 72 時間以上連続稼働させる事もないでしょう。

…なので、あまり目くじら立てる程の制限でもないかと思います。


[^1]: 2023/03/01 現在。