- Başkan Joe Biden, 23 Aralık'ta SHARE IT Act'i imzaladı; buna göre ABD federal kurumları, yinelenen geliştirme sözleşmelerini azaltmak için özel geliştirilmiş kaynak kodu birbirleriyle paylaşmak zorunda
- Federal hükümetin her yıl yazılım satın alımına harcadığı tahmin edilen yaklaşık 12 milyar doları azaltmak için, kurumlara özel kodların kamuya açık biçimde listelenmesi ve yeniden kullanılabilir hale getirilmesi yasanın temelini oluşturuyor
- Yasa kapsamı dışında gizli kod, ulusal güvenlik sistemleri ve paylaşılması halinde kişisel veriler açısından risk doğurabilecek kodlar bulunuyor
- Kurum CIO'ları, yürürlüğe girişten sonra 180 gün içinde en iyi uygulamalara uyum, meta verilerin yayımlanması ve standartlaştırılmış raporlama prosedürlerini içeren uygulama politikaları hazırlamak zorunda
- Atlassian ve GitLab Inc. yasayı destekledi; tasarı Aralık ayında Senato ve Temsilciler Meclisi'nden kayıtlı oylama yapılmadan geçti
SHARE IT Act'in kod paylaşımı zorunluluğu
- Source Code Harmonization And Reuse in Information Technology Act ya da SHARE IT Act, federal kurumların özel olarak geliştirdikleri kaynak kodu diğer kurumlarla paylaşmasını zorunlu kılıyor
- Odak noktası, başka bir kurum için daha önce geliştirilmiş koddan habersiz şekilde yeniden sözleşme yapılarak oluşturulan yinelenen geliştirmeyi azaltmak
- Kurumlar, özel kodları kamuya açık olarak listelemeli ve diğer kurumların bu kodlardan yararlanabilmesini sağlamalı
Bütçe tasarrufu hedefi ve kapsam dışı istisnalar
- Yasa destekçileri, federal hükümetin her yıl yazılım satın alımına yaklaşık 12 milyar dolar harcadığını tahmin ediyor
- SHARE IT Act, özel kodun yeniden kullanımı yoluyla bu maliyeti düşürmeyi amaçlıyor
- Aşağıdaki kodlar yasa kapsamı dışında tutuluyor
- Gizli kod
- Ulusal güvenlik sistemleri
- Paylaşılması halinde kişisel veri riski oluşturabilecek kod
Kurum CIO'ları için 180 gün içinde politika oluşturma zorunluluğu
- Kurumların baş bilgi sorumluları (CIO), yasanın yürürlüğe girmesinden sonra 180 gün içinde SHARE IT Act uygulama politikalarını hazırlamak zorunda
- Politikalarda şu prosedürler yer almalı
- Özel geliştirilen kodun en iyi uygulamalara uygun olmasını sağlayan prosedürler
- Özel kodun meta verilerini kamuya açık biçimde sunan prosedürler
- Standartlaştırılmış raporlama prosedürleri
Açıklanması gereken meta veriler
- Yasadaki meta veri tanımı, özel kodun geliştirme ve paylaşım durumunun doğrulanabilmesini sağlayan bilgileri kapsıyor
- Şu kalemler buna dahil
- Özel kodun bir sözleşme kapsamında geliştirilip geliştirilmediği
- Kodun bir depo üzerinden paylaşılıp paylaşılmadığı
- Sözleşme numarası
- Kodun paylaşıldığı depoya giden hiperlink
Yasama süreci ve sektör desteği
- Tasarı Senato'da Ted Cruz ve Gary Peters, Temsilciler Meclisi'nde ise Nicholas Langworthy ve William Timmons tarafından desteklendi
- Senato ve Temsilciler Meclisi, Aralık ayında kayıtlı lehte/aleyhte oylama olmadan tasarıyı kabul etti
- Langworthy'nin Eylül ayında Temsilciler Meclisi'ne sunduğu açıklamaya göre Atlassian ve GitLab Inc. tasarıyı destekledi
- Atlassian hukuk sorumlusu Stan Shepard, özel kodda iş birliği ve paylaşımın artmasının federal kuruluşlar genelinde açıklığı, verimliliği ve inovasyonu teşvik ettiğini düşünüyor
1 yorum
Hacker News yorumları
Kamu deneyiminiz yoksa bunun neden bu kadar zor olduğunu sezmek güç olabilir. Ordu, kurum içi yazılıma alerjiktir ve askeri BT, her gün dünyanın en üst düzey devlet destekli sızma aktörleri tarafından saldırıya uğrayan bambaşka bir dünyadır.
Startup'lar böyle şeyler yaşamaz; Facebook gibi büyük şirketler bile önem düzeyi açısından ancak benzer bir seviyeyi kısmen deneyimler. Özel sektörde buna en yakın yerler olsa olsa büyük finans kuruluşlarıdır. ABD ordusu aynı zamanda gezegendeki en büyük tekil işveren olduğu için 4,5 Walmart büyüklüğündedir.
Bu yüzden ordu her şeyi birden fazla katmanda izler ve katman bazlı onaylı yazılım listeleriyle sıkı biçimde kilitler. Güvenlik politikalarını yazan ya da denetleyen kişilerin deneyimli yazılım direktörleri olma ihtimali düşüktür; NPM ya da Maven'a baktıklarında bunları güvenlikten anlamayan insanların yarattığı sınırsız saldırı vektörleri olarak görürler ki bu da tamamen yanlış değildir.
Sivil ve yüklenici tarafında kod sahipliği de karmaşıktır. Devlet parasıyla yapılıyorsa devletin sahip olması gerekir; ama yükleniciler bunu devletten ayrı kendi varlıkları olarak tutmaları gerektiğini, böylece yeniden ücretlendirebileceklerini düşünür. Alt yüklenici ana yüklenicinin finansal hedefleriyle uyumlu değilse işler daha da karmaşıklaşır. Şahsen her şeyin devlete devredilmesinin yeterli olduğunu düşünüyorum, ama insanların katman katman bariyerler kurması tuhaf. Devlet tarafındaki altyapı çok daha yüksek güvenlik sertifikasyon seviyelerine sahip olduğu için genelde kısıtları da daha azdır.
ABD ordusunun bazı alanları anlatılan düzeyde tehdit ve güvenlik karmaşıklığı yaşıyor olabilir; ancak geneline bakıldığında modern çözümleri ya da en iyi uygulamaları entegre etmeyi zorlaştıran çok sayıda legacy sistem var. Bu eski sistemler, iş akışları ve bürokrasi, üstün güvenlikten çok verimsizlik ve zafiyet üretmeye daha yatkın.
ABD ordusunun ihlale uğradığını duymamanız bunun olmadığı için değil, olursa gizli sınıflandırıldığı içindir. Gizlilik sınıflandırmasının bir numaralı kullanım amacı kamuoyu önünde rezil olmayı önlemek olduğu için yetkin olduklarına dair bir inanç oluşuyor. Ben olsam Facebook güvenliğini her zaman ABD ordusunun önüne koyardım; aradaki farkın da küçük olmadığını düşünüyorum. Facebook aynı zamanda bir ödeme işleyicisidir.
AWS'nin önemini düşününce Amazon'un da benzer tehditlerle karşı karşıya olduğu kesin.
(A) Genel hüküm—Bu yasa, gizli kaynak koda veya 40 U.S.C. 11103'te tanımlandığı üzere ulusal güvenlik sistemlerinde esas olarak kullanılmak üzere geliştirilen kaynak koda uygulanmaz.
(B) Ulusal güvenlik—3. bölüm şartlarından muafiyet, gizli kaynak koda veya şu kaynak koda uygulanır: (i) ulusal güvenlik sistemlerinde esas olarak kullanılmak üzere geliştirilen kod, ya da (ii) 1947 Ulusal Güvenlik Yasası'nın 3(4) maddesinde tanımlanan istihbarat topluluğu üyesi bir kurum ya da onun bir bölümü tarafından geliştirilen kod.
O zaman devlet sözleşmeciliği denen işin nasıl bir yapı olduğunu ve işlerin neden gerekenden yıllarca daha uzun sürdüğünü anladım.
Vergilerimizle ödediğimiz para bu; neden herkesin cebinden para çıkıp şirketin birkaç kodamanını ve satış elemanlarını ciddi biçimde zenginleştiren tarafı destekleyelim diye sormadan edemiyorum.
“Devlete her şeyi vermeyeceğim” pozisyonundaysanız, makul yol bence devlete çıktıları istediği gibi kullanma hakkı vermek; buna karşılık gizli olmayan bileşenleri ve bunların türevlerini özel sektöre serbestçe satabilmek olur.
Yasa, kurum CIO’larının yürürlüğe girdikten sonraki 180 gün içinde bir politika oluşturmasını şart koşuyor; bu politika, özel geliştirilmiş kodun en iyi uygulamalara uygun olmasını sağlamalı, özel kodun meta verilerini yayımlamaya yönelik süreçleri ve standart raporlama prosedürlerini belirlemeli.
Yeni yasada meta veriler; özel kodun sözleşme kapsamında geliştirilip geliştirilmediğini, bir depoda paylaşılıp paylaşılmadığını, sözleşme numarasını ve kodun paylaşıldığı depoya bağlantıyı içeriyor.
Ne yazık ki bu, kurumların kodu açık kaynak olarak kamuya açmasını gerektiren bir yasa değil; yalnızca kurumlar arası paylaşımı gerektiriyor gibi görünüyor. Kamuya açık biçimde paylaşılması gereken tek şey “meta veriler”. Tasarının tam metni https://www.congress.gov/bill/118th-congress/house-bill/9566... adresinde.
İstisnalar var, ancak diğer yüklenicilerin de kaynak kodu değiştirme ve aynı şekilde yayımlamama yeteneğini koruması gerektiği yönünde bir mantık da vardı. Muhtemelen savunma alanından kaynaklandığını tahmin ediyorum.
Para nedeniyle gizli tutmak için eşik yüksekti, ama başka herhangi bir nedenle gizli tutmak her zaman mümkündü. DOE Code, açık kaynak yazılımları izleyen bir programdır ve genelde GitHub organizasyonları üzerinden yönetilir. OSTI ise tüm fikri mülkiyeti ve araştırmaları izleyen birimdir.
Açık kaynak geliştirme modeli LLNL için de faydalı oldu ve tek başlarına geliştirdiklerinden çok daha iyi bir kod tabanı elde ettiler.
NASA IKOS gibi zaten kamuya açık olanlar da var: https://github.com/NASA-SW-VnV/ikos
Bu proje, üçüncü taraflardan hak ettiği ilgiden çok daha azını görüyor. Çok iş parçacıklılıkla başa çıkabilen genel amaçlı, sound bir statik analiz aracına dönüşebilirse birçok başka projenin iyileşmesine yardımcı olur.
“Kamu bütçesiyse, o paradan çıkan sonucu halk görmeli” düşüncesiyle tam bir açık kaynak modelini savunmaya çalışmıştım: https://web.archive.org/web/20200920095030/http://oss4gov.or...
Hükümet yazılımlarında varsayılanın, bakan düzeyinde onaylanmış istisnalar yoksa açık kaynak olması gerektiğini düşünüyordum. Gerçi o zamanlar genç ve safmışım.
Ghidra iyi bir örnek; bu yazılımın ücretsiz hale gelmesi güvenlik topluluğu için büyük bir kazanım oldu.
Biz açık kaynak yazılım üretip devlet kurumlarının bunu benimsemesini veya kullanmasını sağlamaya çalışıyoruz, ama bu kurumların açık kaynağa alerjik olma düzeyi şaşırtıcı.
Bazıları başkasının kodunu kullanmak yerine CSV yükleme ya da bozuk ayrıştırıcılar gibi eski yöntemlerle kendi çözümlerini yapıyor ve öngörülebilir hata ve kusurları da beraberinde üretiyor.
Teklif çağrılarına yanıt verirken de açık kaynak tarafı, kapalı sistemlere göre daha sıkı incelemeye tabi tutuluyor. Açıkta olduğunda iyi olduğunu kanıtlamanız gerekiyor; kapalıysa satıcı “evet, mükemmel” diyebiliyor ve kurum bunu kabul edip geçebiliyor. Kurumların ve çalışanların hiçbir sorumluluk almak istemediği hissine kapılıyorum. Yine de beceriksizlik yüzünden devlet işini kaybeden birini hiç görmedim.
Devlette çalışıyorum ve bizzat deneyimlediğim şey bu. Kültür son derece toksik ve bozuk. Elon ve Trump ekibinin nasıl değişiklikler önereceğini merakla bekliyorum.
ABD Savunma Bakanlığı’nın açık kaynak yazılım SSS’si var: http://dodcio.defense.gov/OpenSourceSoftwareFAQ.aspx ve https://github.com/risacher/DoD-OSS-FAQ
Bu sürüm, kamu politikası belgelerine halkın katılımı için işbirliğine dayalı bir araç denemesi olarak GitHub’da yayımlandı; askerî ve sivil personelin, yüklenicilerin ve sivillerin pull request ile değişiklik veya ekleme önerileri sunabileceği belirtiliyor.
2010 videosu: https://www.youtube.com/watch?v=WWt0YiXcEkE
DoD CIO ofisinden Dan Risacher ve açık kaynak güvenliği uzmanı David A. Wheeler, Savunma Bakanlığı’nın açık kaynağı uygulanabilir bir ticari yazılım biçimi olarak gördüğü yönündeki tutumunu netleştiren yakın tarihli DoD notunun geçmişini ve etkilerini açıklıyor.
2024 materyali: https://openssf.org/press-release/2024/10/29/openssf-expands...
Linux Foundation’ın OpenSSF’i güvenlik eğitimi ihtiyacını kabul ettiğini söyledi; OpenSSF’in açık kaynak tedarik zinciri güvenliği direktörü David A. Wheeler’a göre, kursun başlamasından bu yana 25.000’den fazla kişi bu eğitim materyaline kaydoldu.
Niyet iyi ama pratikte, yüklenici 1’in potansiyel rakiplerinin arayı kapatması ya da mevcut sözleşme kodunun kalitesini gerekçe göstererek saldırması dışında pek bir şey olacağını sanmıyorum. Kod okumak, kod yazmaktan daha zordur.
Mevcut sözleşme kodunun kalitesini gerekçe göstererek saldırıyorlarsa, bu kod incelemesidir ve bir şekilde kod kalitesinin iyileşmesine yol açar. Burada sorunun ne olduğunu anlamıyorum.
Harika bir şey. Aynı kurum içinde bile kodu okuyamadığımız için zorlandığımı hatırlıyorum. Böyle bir değişiklik, yukarıdan aşağıya zihinsel model oluşturanların işini kolaylaştıracak gibi görünüyor.
Genel olarak vergi mükellefinin parasıyla ödenen her şey kamuya açık olmalı. Public Monies Public Goods mutlak temel ilke olmalı.
Bu, ahlaksız yüklenicilerin koda telif hakkı koyup lisans ücreti almasını yine de engellemiyor. DoE kodlarının çoğu böyle; NWCHEM gibi istisnalar var. Bunun neden davaya dönüşmediğini hep merak etmişimdir; muhtemelen kimse pek önemsemediği içindir.
Bir yandan, başka bir bölgenin o bölgedeki vergi mükelleflerinin finanse ettiği yönetmelik sisteminden bedavaya yararlandığı görüşünü anlayabiliyorum. Özellikle de o yasa ağırlıklı olarak yerel yönetime uygulanıyorsa. Öte yandan, yasaların telif hakkıyla kısıtlanması tuhaf geliyor.
Evde birine iş yaptırdığınızda, nihai çıktı dışında tam olarak neye sahip olduğunuzu da düşünmek gerekir.
Harika bir yönelim. Hükümet ekipleriyle çalışırken bunun önerilen uygulama olarak sunulduğu bir yer görmüştüm: https://www.forgov.qld.gov.au/information-and-communication-...
Ancak çoğu durumda, bu tavsiyeye gerçekten uyulmasını sağlamak için bunun gereklilik olarak yasalaştırılması adımı hâlâ gerekiyor. Özellikle kamu hizmetlerinde, açık kaynak topluluklarına hiç katılmamış kişilerin yaygın olduğu düşünülürse.
Başkalarının da vurguladığı gibi, kamu bütçesi kamu yararına dönüşmeli; açık kaynak da bu yararı büyütmenin iyi bir yolu.
“Yeni yasa; gizli kodlara, ulusal güvenlik sistemlerine ve paylaşıldığında mahremiyet riski doğuracak kodlara uygulanmaz” ifadesi var.
Paylaşıldığında mahremiyet riski doğuran kod nasıl bir kod olabilir? Kod ile verinin epey kötü biçimde iç içe geçtiği anlamına geliyor gibi.
Devlet yüklenicileri, kodlarının berbat olduğunu ve çoğunlukla gizlilik yoluyla güvenliğe dayandığını satır aralarında gönüllü olarak kabul ediyor. Bilgi komisyonu da birkaç kez onların lehine karar verdi.
Örneğin Excel formüllerinde neler görülebileceğini düşünmek yeterli.