TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #368 5.05K
⚠️ Spring Framework переходит на DCO: что это означает для сообщества?

Отвечает эксперт сообщества Spring АйО – Михаил Поливаха.

–––

Друзья, с нового года Spring Framework перешел с политики контрибьюшенов CLA (Contributor License Agreement) на DCO (Developer Certificate of Origin).

Что это значит для Вас всех?

Несмотря на то, что напрямую эта новость касается тех людей, кто хотел когда-либо контрибьютить в Spring Framework, либо уже этим занимается - знать, что такое DCO, должны все. Это коснется Всех. Огромное количество Software проектов использют модель DCO (например, ядро ОС Linux).

Меня, как контрибьютора в Spring Data, это коснулось напрямую.

Что такое CLA (Contributor License Agreement)?

Видите ли, когда вы пишите любой код (не в рамках обязательств, например, по трудовому договору), права на этот код принадлежат только Вам. Вы написали какой-то код и решили законтрибьютить в Spring — молодцы, хвалю Вас!

Только вот есть проблема - код этот принадлежит Вам, и если его вносить в кодовую базу Spring Framework, то Вы, потенциально, в суде, можете претендовать на то, что Spring Framework по праву Ваша разработка - вот так! И подобные кейсы в Open Source были, читайте ниже.

CLA это такой документ, который Вы раньше подписали бы, говорящий о том, что Вы передаете свой патч согласно Open Source лицензии проекта, например:

1. MIT
2. Apache License
3. GPL и другие


Иными словами, с помощью CLA Spring Framework и другие проекты ранее прикрывали свое мягкое место. И это работало.

Но есть один нюанс...

Что такое DCO (Developer Certificate of Origin)?

Но тут есть проблема. Вы, конечно, готовы передать свой код в Spring Framework. Но представьте себе, что Вы создали свой коммит, при этом копировали решение из какого-то приватного API, который является проприетарным, т.е. который является чьей-то интеллектуальной собственностью, и который не разрешается публиковать в public.

И получается дилемма: вы как бы чью-то собственность без разрешения владельца (например, Вашего работодателя), выложили в публичный доступ. Если любой проект примет такое изменение (при этом это изменение не подписано с DCO), то Ваш работодатель имеет право претендовать на интеллектульную собственность этого Open Source проекта.

Из-за такой дилеммы когда-то был огромный судебный процесс по Linux, и с тех пор этой ситуации жутко боятся.

Таким образом, DCO представляет собой маленький атрибут в сообщении каждого коммита, например вот такой (в моем случае):

Author: mipo256 <email@gmail.com>
Date: EEE MMM dd HH:mm:ss yyyy Z

Added Sequence generation support

Signed-off-by: mipo256 <mail@gmail.com>


Подписывая каждый комит с DCO - вы говорите, что Вы не просто соглашаетесь с лицензией проекта, вы также:
- утверждаете, что тот, кто написан после тега Signed-off-by имеет полное право сабмитить этот патч.
- утверждаете, что готовы передать код в рамках лицензии проекта (о чем писали ранее)

По итогу Вы подтверждаете, что имеете право его вносить. Если потом возникнут вопросы, то обращаться будут уже не к проекту, а к Вам.

Вывод

Spring Framework и другие проекты в Open Source переходят на DCO. Если Вы все делаете и делали честно — вы просто добавляете фрагмент с подписью в сообщение каждого коммита и все.
  • 👍 46
  • ❤ 11
  • 🔥 7
  • 🤯 5
  • ⚡ 2
More from @spring_aio
  1. Oct 11, 2026🎬 Записи докладов с JPoint 2026 уже в открытом доступе JUG Ru Group выложили записи с про…
  2. Oct 9, 2026👩‍💻 Kotlin получил почти настоящие статики Начиная с Kotlin 2.5.0-Beta1 можно эксперимен…
  3. Oct 8, 2026🍃 Spring Boot ломает совместимость, G1 тормозит микросервисы, Java долго релизит фичи | S…
  4. Oct 6, 2026👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spri…
  5. Oct 5, 2026🥲 В Java 27 TLS научился переживать квантовую атаку При установке HTTPS-соединения клиент…
  6. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →