Atvērtā koda programmatūras definīcija un piemēri
How to control multiple Servo motors using one potentiometer with Arduino
Satura rādītājs:
- Atvērtā koda programmatūras kritēriji
- Licences
- Atvērtā koda programmatūra pret komerciālo programmatūru
- Atvērtā koda programmatūra pret brīvo programmatūru
- Atvērtā koda programmatūras priekšrocības
- Populāri atvērtā pirmkoda programmatūras veidi
- Atvērtā koda programmatūra un izstrādātāji
- Bottom Line
Atvērtā koda programmatūra (OSS) ir jebkura veida datorprogrammatūra, kas tiek izplatīta ar tās pirmkodu, kas pieejams modificēšanai. Tas nozīmē, ka tas parasti ietver licenci programmētājiem, lai mainītu programmatūru jebkurā veidā, kādā tie izvēlas: viņi var noteikt kļūdas, uzlabot funkcijas vai pielāgot programmatūru, lai tie atbilstu viņu vajadzībām.
Atvērtā koda programmatūras kritēriji
Open Source Initiative (OSI), globāla bezpeļņas organizācija, kas dibināta 1998. gadā, darbojas kā vadošā iestāde OSS. Tās atklātā pirmkoda programmatūras definīcija ietver 10 kritērijus, kas saistīti ar šādiem jautājumiem:
- Programmatūras pārdale
- Avota kodu pieejamība un integritāte
- Licenču izplatīšana un īpašības
- Atvasinātie darbi
- Pretdiskriminācija
Licences
Dažādas licences ļauj programmētājiem modificēt programmatūru ar dažādiem nosacījumiem. Saskaņā ar Black Duck KnowledgeBase, aptuveni divu miljonu atvērtā pirmkoda projektu datubāzi, piecas no populārākajām licencēm ir šādas:
- MIT licence
- GNU vispārējā publiskā licence (GPL) 2.0
- Apache License 2.0
- GNU vispārējā publiskā licence (GPL) 3.0
- BSD licence 2.0 (3 klauzula, jauna vai pārskatīta)
Mainot pirmkodu, OSS ir nepieciešams iekļaut to, ko esat mainījis, kā arī metodes. Programma, kas izveidota pēc koda modifikācijām, var būt pieejama vai nav pieejama bez maksas.
Atvērtā koda programmatūra pret komerciālo programmatūru
Komerciāli pieejama programmatūra, kas ir komerciāla vai patentēta programmatūra, nedod piekļuvi tās pirmkodam, jo programmatūra ir kāda cita intelektuālais īpašums. Tā rezultātā lietotāji bieži par to maksā. OSS, no otras puses, ir kopīgs darbs; Programmatūra ir kopīgs intelektuālais īpašums starp visiem, kas ir palīdzējuši to attīstīt vai mainīt.
Atvērtā koda programmatūra pret brīvo programmatūru
Lai gan termini bieži tiek aizstāti, OSS nedaudz atšķiras no brīvās programmatūras. Abas ir saistītas ar iespēju lejupielādēt un modificēt programmatūru bez ierobežojumiem vai maksas. Tomēr brīvā programmatūra - jēdziens, ko 1980. gados izstrādāja MIT datorzinātņu pētnieks Ričards Stallmans, ir definēts ar četriem nosacījumiem, kā to nosaka bezpeļņas brīvo programmatūru fonds. Šīs "četras brīvības" uzsver lietotāju spēju izmantot un izbaudīt programmatūru, kā tās uzskata par piemērotām.
Turpretī OSS kritēriji, kurus Atvērtā koda iniciatīva izstrādāja desmit gadus vēlāk, vairāk liek uzsvaru uz programmatūras modifikāciju un sekām, kas rodas, mainot pirmkodu, licencēšanu un izplatīšanu.
Acīmredzot abas pārklājas; daži apgalvo, ka atšķirības starp OSS un brīvo programmatūru ir vairāk filozofiskas nekā praktiskas. Tomēr nevajadzētu sajaukt ar freeware. Freeware parasti attiecas uz patentētu programmatūru, kuru lietotāji var lejupielādēt bez maksas, bet kuru pirmkodu nevar mainīt.
Atvērtā koda programmatūras priekšrocības
Lai gan tās izmaksu trūkums ir galvenā priekšrocība, OSS ir vairākas papildu priekšrocības:
- Tās kvalitāti var viegli un ievērojami uzlabot, kad tās avota kods tiek nodots tālāk, pārbaudīts un fiksēts.
- Tā piedāvā vērtīgu mācību iespēju programmētājiem. Viņi var pielietot prasmes populārākajām šodien pieejamajām programmām.
- Tā var būt drošāka nekā patentēta programmatūra, jo bugs tiek ātri identificētas un fiksētas.
- Tā kā tas ir publiski pieejams un pastāvīgi tiek pakļauts atjauninājumiem, ir maz iespēju, ka tas var kļūt nepieejams vai ātri novecojis - tas ir svarīgs plus ilgtermiņa projektiem.
Populāri atvērtā pirmkoda programmatūras veidi
Atvērtā koda tehnoloģijas palīdzēja izveidot lielu daļu interneta. Turklāt daudzas programmas, kas tiek izmantotas katru dienu, ir balstītas uz atvērtā koda tehnoloģijām. Piemēri: Android OS un Apple OS X pamatā ir attiecīgi kodola un Unix / BSD atvērtā koda tehnoloģijas.
Cita populāra atvērtā pirmkoda programmatūra ir:
- Mozilla Firefox tīmekļa pārlūkprogramma
- Thunderbird e-pasta klients
- PHP skriptu valoda
- Python programmēšanas valoda
- Apache HTTP tīmekļa serveris
Atvērtā koda programmatūra un izstrādātāji
OSS projekti ir sadarbības iespējas, kas uzlabo prasmes un veido sakarus šajā jomā. Jomas, kurās izstrādātāji var strādāt, ietver:
- Komunikācijas instrumenti. E-pasts, reāllaika ziņojumapmaiņa, forumi un wikis palīdz izstrādātājiem rast risinājumus vai atcelt idejas viena otrai.
- Sadalītas revīzijas kontroles sistēmas. Ja vairāki izstrādātāji dažādās ģeogrāfiskās vietās maina datus un failus, šīs sistēmas pārvalda dažādas versijas un atjauninājumus.
- Bug trackers un uzdevumu saraksti. Šīs funkcijas ļauj veikt liela mēroga projektus, lai uzraudzītu problēmas un sekotu to labojumiem.
- Testēšanas un atkļūdošanas rīki. Šīs funkcijas automatizē testēšanu sistēmas integrācijas laikā un atkļūd citas programmas.
Bottom Line
Atvērtā koda programmatūra ir alternatīva patentētai programmatūrai. Dalība OSS projektā var būt ceļš uz programmatūras izstrādes karjeras veidošanu, ļaujot programmētājiem izkopt savas prasmes, strādājot ar lielākajām programmatūras programmām pasaulē. Facebook, Google un LinkedIn visi atbrīvo OSS, tāpēc izstrādātāji var dalīties ar zināšanām, ieviest jaunus risinājumus un veicināt stabilus, funkcionālus produktus.
Kur atrast atvērtā koda un publiskā domēna programmatūru
Noskaidrojiet atšķirību starp atvērtā pirmkoda lietojumprogrammām un publisko domēnu programmatūru un to, kā atvērtā koda lietojumprogrammas nav publiski pieejamas.
Atvērtā koda un publiskā domēna programmatūras lietojumprogrammas
Atvērtā koda programmatūra ļauj lietotājiem piekļūt un mainīt programmas pirmkodu. Šīs lietojumprogrammas nav publiski pieejamas.
Programmatūras inženieru prasmju saraksts un piemēri
Šeit ir visaptverošs programmatūras inženieru prasmju saraksts, ko izmantot atsākšanai, pavadvēstulēm un darba intervijām.