İş yerinde bir soruna daha iyi bir çözüm buldum - kod snippet'ini çevrimiçi yayınlamaktan caydırmalı mıyım?


18

Programcıların çoğumuzun günlük sorunları çözmek için Stack Overflow kullandığımızı düşünüyorum: bir şeyler yapmak için etkili bir algoritma aradık.

Şimdi bir durum düşünün: Çözmeniz gereken bir sorun var. Biraz googled, bir StackOverflow sorusu buldu, ancak şu ana kadar cevaplardan gerçekten memnun değilsiniz. Bu yüzden kendi araştırmanızı yapmak zorundasınız: Şirketin uygulamasında olmasını istediğiniz için yapmanız gerekir.

Sonunda birkaç saat sonra daha iyi bir çözüm buldunuz. Memnun kaldınız, bunu şirketin kod tabanına eklediniz, ardından yanıtınızı başkalarına da yardımcı olmak için daha önce bulduğunuz soruya bir kod snippet'i (yalnızca birkaç satır) ile göndermek istiyorsunuz.

Ama bekleyin: şirketin yazılımı kapalı kaynak ve saatin üzerinde çalıştınız.

Yani bu, cevapları ne işte ne de evde yaşamımın geri kalanında bu soruya göndermemem gerektiği anlamına mı geliyor, çünkü işte çözdüm ve şirket bu kod parçasına sahip mi?


Sanırım şirket politikasına bağlı. Güvenli tarafta olmak için izin istiyorum.
MrSmith42

1
Şirket avukatına bu küçük davada ufacık bir istisna yapıp yapamayacağını sorun ve evet diyorsa, iyi kalpli eski bir avukat olacak. Oranlar, size sadece işinin ve şirketin en iyi ilgisinin ne olduğunu söyleyecek, ki bu "hayır."
Neil

1
@ MrSmith42 Elbette. Ama gerçeği söylemek gerekirse, birkaç kez bundan zaten suçluyum ve bunu şimdiye kadar olası sonuçları düşünmeden yaptım. Ve muhtemelen, bununla yalnız değilim. Bu yüzden burada sordum ... Yoksa herkes çalışırken fikirlerini ifade etmemeyi veya çevrimiçi kod göndermemeyi umuyor mu? İnanamıyorum.
13'te Calmarius

5
Endişelerden biri, çözümünüz / algoritmanız şirketinize rekabet avantajı sağlıyorsa, bunu paylaşmak şirketiniz için etkili olabilir.
cYn

3
Eğer birine yardım olacağını düşünüyorsanız, ve şirket ip vermek değil, sadece şey genel bir sürümünü gönderin. Şahsen, çözüm burada bulduğunuz diğerlerinden kısmen türetilmişse, buradaki içerik cc olduğu için şirketin teknikte bir iddiası olmadığını düşünüyorum .
GrandmasterB

Yanıtlar:


15

Özel şirket bilgilerini ifşa etmek asla yapmamanız gereken bir şeydir. Bununla birlikte, Stack Overflow'daki kod parçacıklarının çoğu bundan daha sıradan. Bu örneği düşünün :

public static unsafe void SwapX4(Byte[] Source)  
{  
    fixed (Byte* pSource = &Source[0])  
    {  
        Byte* bp = pSource;  
        Byte* bp_stop = bp + Source.Length;  

        while (bp < bp_stop)  
        {
            *(UInt32*)bp = (UInt32)(
                (*bp       << 24) |
                (*(bp + 1) << 16) |
                (*(bp + 2) <<  8) |
                (*(bp + 3)      ));
            bp += 4;  
        }  
    }  
}

Bu yöntem, baytları değiştirerek 32 bitlik bir sayının endianitesini tersine çevirir. Bu uygulama ile saf olan arasındaki fark, bunun iki kat daha hızlı çalışmasıdır, ancak yalnızca küçük bir endian makinesinde çalıştırabilirsiniz. Özel bir programda kullanılmaktadır, ancak genel bir tekniği açıklar ve gizli bir şey göstermez.


Bu, bir şirketin algoritmalara sahip olmadığı fikrini takip etme eğilimindedir, değil mi?
Daniel Gratzer

8
Patent sisteminin bizans doğası göz önüne alındığında, bunu kesin olarak söyleyemem.
Robert Harvey

@Jozefg: Tıpkı herhangi bir buluş gibi, karmaşık ve şirket içinde yeterince açık olmayan ve geliştirilen algoritmalar, yazılım dünyasında şirketlere "kolayca" sahip olabilen birkaç şeyden biridir. Burada sunulan bir örnek, o kategoriye girmeyecek kadar basittir. Her ne kadar gerçek orijinal düşüncenin ve yıllarca araştırmanın yatırıldığı ve bir şirketin tam mülkiyet haklarına sahip olması gereken durumlar olsa da, çoğu zaman patent sistemi (en azından ABD'de) sadece istismar edilmektedir.
DXM

7

Sık sık işyerinde karşılaştığım sorunları ve çözümleri şirket kodu * ile şirket zamanında yayınlıyorum. Yöneticimle doğrudan bu konuda konuştum ve şirketin burada geçirdiğim zamandan aldığı değerin, genel olarak burada geçirdiğim zamanla ilgili herhangi bir endişeden daha ağır bastığını hissediyor.

* Özel olabileceğini düşündüğüm her şeyi gizlemeye özen gösteriyorum. Şirket içi kodumuz çok tescilli, ancak tescilli donanımı (satmadığımız) olmayan herkes için büyük ölçüde yararsız olacaktır.

Sorularıma ve cevaplarıma, kendime ve yoldaki bir başkasına olduğu gibi ben de benzer problemlerle karşılaştıklarında yardımcı olarak bakıyorum.


1

Bu kaynağa sahip olmasaydınız şirketinize ek zamanınız veya kaybedilen zamanınız için ne kadara mal olur?

Hiçbir ödün vermeyen veya tescilli bilgi verilmediği sürece, bulduğunuz yayınlama çözümlerinin aldığınız cevaplar için bir tazminat olduğunu hissediyorum.


1

Bu sorunun cevabı, işvereninizle (sözleşmeniz) imzaladığınız yazılı yasal anlaşmalarda ve bu anlaşmaların yargılanacağı yetki alanındadır. Yasal bir anlaşmanın, içinde çalıştığınız durum olabilecek veya olmayabilecek yargı yetkisini listelemesi yaygındır (muhtemelen çalıştığınız ülke olsa da zorunlu değildir).

Harika bir kitap, Van Lindberg'in Fikri Mülkiyet ve Açık Kaynak . S. 185:

"Bir şirket" için "mülkiyet bilgileri" tanımlanırken aşırı erişimin yasal yankıları yoktur. Bazı devletler, bir yazar veya mucit yeni işleri oluşturmak için şirket mülkünü veya zamanını kullanmadığında PIA'ların uygulanmasını sınırlar ... Devlet tarafından getirilen limitler PIA'nın bir kısmını geçersiz kılsa bile, anlaşmanın diğer yönleri genellikle hayatta kalır.

Sözleşmenizi okuyun. Harekete geçmeden önce niyetinizi işvereninize açıklayın. Ardından eylemlerinizi işvereninize açıklayın. Bunları yazılı olarak açıklayın ve yazılı olarak uygulanabilir olduğunda yanıtlarını / izinlerini alın. En azından bu kitap böyle söylüyor.

Ben bir avukat değilim, sadece bu şeylerle ilgileniyorum. Bu yasal tavsiye değil, sadece dostça öneriler. Kendim için, halkla alakalı hiçbir şey yapmıyorum. Patronumla uzun tartışmalar, tam açıklama, açık lisans etiketleme ve yayınladığım şey hakkında yazılı bir anlaşma sonrasında bazı şeyleri halka açtım, ancak bu nadirdir.


0

Kod parçacıklarını çevrimiçi olarak yayınladım, ancak her zaman kodu şirkete, herhangi bir müşteri verilerine yapılan referansları kaldırmak için düzenlerim ve genellikle alanları / değişkenleri yeniden adlandırırım. Temelde bir işverene geri izlenemez böylece kodu yeniden yazma sonunda. Biraz ekstra çaba gerektirir ama buna değer olduğunu düşünüyorum.

Yasal yönünün yanı sıra, işverenlerinizin mülküne güvendiğinizi de düşünmelisiniz. Eğer özgürce online bit göndermek eğer o zaman takdir takdir ve güvenilir olamaz gibi görünüyor. Gelecekteki bir işverenin snippet'inizi bir arama motorundan bulma izniniz olsa bile bunu bilmeyebilir.

Bu yüzden dikkatli olunca hata yapardım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.