1 puan yazan GN⁺ 2024-12-27 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2024-12-27
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.

    • Askeri BT'yi neredeyse aşılamaz gibi resmetmek, eskiyen altyapının ve hantal politikaların verimliliği ciddi biçimde düşürdüğü gerçeğini gözden kaçırıyor.
      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.
    • “Facebook gibi büyük şirketler önemli olmadığı için ancak benzer şeyleri kısmen yaşar” sözlerine katılmak zor. Microsoft'ta çalışırken güvenlik ekibiyle konuştuğumda, MSFT'nin devlet düzeyinde saldırılara sürekli maruz kaldığı; hatta devlet varlıklarını Microsoft'ta işe sokup gizli bilgileri sızdırma girişimlerinin de buna dahil olduğu izlenimini edinmiştim.
      AWS'nin önemini düşününce Amazon'un da benzer tehditlerle karşı karşıya olduğu kesin.
    • Bana göre bu yasa tasarısının orduyla pek ilgisi yok. Fiili metinde gizli kaynak kodun ya da ulusal güvenlik sistemleri için kaynak kodun kapsam dışında olduğu belirtiliyor.
      (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.
    • Bir yıl boyunca kendi departmanımın güvenlik ekibiyle, müşteri departmanının çevresindeki kişilerle, yerel yüklenici ağıyla ve çeşitli tedarikçilerle konuştum; başka bir kuvvet komutanlığının benim projemin aynısını yıllar önce bitirdiğini ve “onlarla konuşsanız olmaz mı?” dendiğinde kamu müşterisinin boş boş baktığını görünce sözleşmeli işleri bıraktım.
      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.
    • “Her şeyi devlete devretmek yeterli” fikrine katılıyorum. Gerçekten de müşterinin tüm çıktılara sahip olduğu bir yüklenicide çalıştım; böyle olmayan yüklenicilerde çalışan meslektaşlarıma bakınca bunu hep tuhaf buldum.
      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.

    • İyi bir ilk adım. Sonraki adımın eyalet yönetimleri, yerel yönetimler ve üniversitelerle paylaşım olması muhtemel. Kamuya açık paylaşım, şu anda var olmayan pek çok BT sorumluluğunu dağıtır.
    • Yalnızca atılan başlıktan bile bu kadarı yeterince açık görünüyor.
    • En iyi uygulamalar” ifadesini görünce önce şüpheleniyorum. Çünkü bürokratik kargo kültünü daha da körükleme olasılığı yüksek.
    • DOE sözleşmelerinin çoğu, yani hükümetin laboratuvar işleten üniversiteler veya konsorsiyumlarla yaptığı sözleşmeler, genelde “Bu kaynak kodun pazarlanabilir olduğu ya da SBIR değeri taşıdığı kanıtlanamazsa gizli tutulabilir veya açık kaynak olarak yayımlanabilir. Ancak GPL olamaz” benzeri hükümler içerir.
      İ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.
    • ZFSOnLinux gibi bazıları zaten kamuya açık biçimde paylaşılıyor. Depo artık OpenZFS deposu oldu ve birçok insanın hayatını daha iyi hale getirdi. Benim hayatımı da kolaylaştırdı.
      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.

    • Bunun o kadar tartışmalı olduğunu düşünmüyorum. Birleşik Krallık hükümeti de benzer bakıyor: https://www.gov.uk/service-manual/technology/making-source-c...
    • Yıllarca askeri yüklenicilerde çalıştım; vergi mükellefi parasını ödüyorsa ve yazılım gizli değilse açık kaynak olması gerektiğine inanan çok kişi var.
      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.
    • FSFE de Atlantik’in öte yakasında aynı fikri paylaşıyor: https://publiccode.eu/en/
    • Saf değildin, zamanının ilerisindeydin. İlerleme zahmetli bir iş ve bir maratondur.
  • 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.

    • Büyük resimde bu istihdam korumacılığı; bireysel düzeyde ise kendi kod tabanını terfi için kullanacak konu uzmanı olmaya dönük bir yapı. Kurumlar genelde birbirlerini aynı takımda çalışıyor gibi görmüyor. Kongre’de kendi kurumlarına kaynak koparmak için lobi yaparken çok rekabetçi olabiliyorlar.
      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.
    • Açık kaynakta sorumlu tutabileceğiniz kimse yok. Kapalı kaynak yazılımda ise işler ters gittiğinde parmakla göstereceğiniz bir taraf vardır.
  • 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.

    • Potansiyel rakipler arayı kapatıyorsa, hükümet açısından bu daha fazla rekabet ve daha düşük maliyet demektir.
      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ı.

    • Zaten böyle kurallar var, ama bunları ciddiye alan tek kurum DoD. Örnek olarak BRL-CAD ve FalconView var.
      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.
    • Bazı yerel yönetimlerin, başka yerel yönetimlerin para ödemeden kopyalamasını engellemek için kendi yasalarına telif hakkı koyması ilginç.
      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.
    • Katılmıyorum. Çin yüzünden. ABD hükümeti, berbat derecede pahalı yüklenicilerin çöp kodları dahil olmak üzere kendi kodunu kapalı tutmalı.
    • Yazılım söz konusu olduğunda katılmıyorum.
    • Gizli belgelerden ofis notlarına ve personel kayıtlarına kadar her şeyi yayımlamayı mı öneriyorsunuz? Bu olmayacak.
      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.

    • Gerçek bir risk yok ama yayımlamamak için iyi bir bahane sağlıyor. Şirketlerin ve devlet kurumlarının, teknik belgelere yönelik bilgi edinme taleplerini mahremiyet gerekçesiyle reddettiği oldu. “Kişisel verileri işleyen bir sisteme uygulanıyor” ya da “sistemin iç işleyişi bilinirse sistemin ihlal edilme olasılığı artar” gibi gerekçelerdi.
      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.
    • Yeterince özelleştirilmiş kod, hedef iş hakkında çok fazla bilgi açığa çıkaran özellikler barındırır.
      Örneğin Excel formüllerinde neler görülebileceğini düşünmek yeterli.
    • İkisi arasında fark yok