2016년 4월 19일 화요일

SW Testing업무매트릭스


더보기 >

오픈 소스, 새로운 패러다임을 만들다

Q: 오픈소스 (Open Source) 는 언제부터, 어떻게 생겨난 것인가요?

1960 년대는 IBM360 으로 대표되는 메인프레임이 지배하던 시대였습니다. 이 당시에는 소프트웨어와 하드웨어가 밀접하게 결합 (bundling) 되어 있었기 때문에 특정 기종을 위해 만들어진 소프트웨어는 다른 기종에서 작동하지 않았죠. 이때 IBM 은 소프트웨어 소스코드를 하드웨어와 함께 제공했고, 운영체제 소프트웨어의 소스코드를 폐쇄하지 않았습니다. 그러나 IBM 이 ‘반독점법’ 패소에 대한 대응방안의 하나로 소프트웨어를 하드웨어와 분리(unbundling) 하면서 소프트웨어 자체가 중요한 산업이 되었고, 기업들간의 경쟁이 심화되면서부터 소프트웨어의 소스코드는 기업의 비밀이 되었습니다. 그리고 모든 기업들에게 소스코드는 경쟁우위를 보장해주는 기술자원으로 변하였죠.

이러한 흐름의 다른 한쪽에서는 소스코드를 공개하는 새로운 흐름이 형성되고 있었습니다. 1969 년 AT&T 의 벨연구소에서 근무하고 있던 켄 톰슨 (Ken Thompson)이 개인적인 연구를 수행하기 위해 유닉스 (Unix) 라는 운영체제를 만들었는데요. 이 운영체제는 C 라는 새로운 고급 언어로 작성되었는데, 이는 하드웨어에 종속되지 않는 특징을 지니고 있었습니다. 이로 인해 벨 연구소가 아닌 곳에서도 유닉스를 사용할 수 있게 되었고, 이렇게 개발된 유닉스의 소스코드는 주로 연구기관을 중심으로 배포되었습니다.

1980 년대 들어 유닉스는 전세계의 대학이나 연구기관으로 퍼져 나갔으며, 이러한 경향으로 인해 기업들은 유닉스가 시장성이 있음을 인지하고, 유닉스 기종을 만들기 시작했습니다. 이로 인해 유닉스는 상업화의 길을 걷기 시작했죠. 1984 년 ‘독점금지법’ 과 관련해서 AT&T 분할이 이루어지면서 AT&T 가 컴퓨터업계에 진출할 수 있게 되었는데요. 이 과정을 통해 AT&T 는 과거 거의 무료로 소스코드를 공개하던 방식에서 유닉스의 상품화로 입장을 바꾸어, 가격도 오르고 소스 코드 역시 엄격하게 관리되어 더 이상 개방되지 않게 되었습니다.

이렇게 유닉스 분야에 상업화 바람이 불면서 유닉스 초기에 존재하던 활발한 소스코드 공개 문화는 사라져 버리게 되어, 결국 제각각이 되어버린 유닉스들은 점차 폐쇄적으로 바뀌어 호환성을 갖지 못하게 되는 상태까지 이르게 됩니다.

유닉스의 상업화 경향이 강화되면서 이에 대한 반발의 움직임으로 자유소프트웨어 운동이 추진되기 시작했는데요. 폐쇄적으로 진행되어 가는 상업용 유닉스의 흐름과는 별개로 자유소프트웨어 (Free Software) 가 개발되기 시작한 것입니다.

1983 년 경에 시작된 GNU 프로젝트는 리차드 스톨만 (Richard Stallman) 이 주도하였는데요. 이 프로젝트의 목표는 기술적으로 완벽한 ‘유닉스 호환 소프트웨어 체계를 개발하는 것’ 이었습니다. 그러나 GNU 는 기술적으로 유닉스와 같지만, 사용자들에 자유를 준다는 점에서 유닉스와는 본질적으로 달랐습니다 . 결국 사회적 측면에서 볼 때 , GNU 프로젝트는 기술적으로는 동등하지만 사회적으로는 완전히 다른 소프트웨어를 개발하는 것이었죠. 스톨만이 추구한 것은 ‘사적 독점 소프트웨어 사회체계’ 에 맞서 소프트웨어를 공유하고 협력하는 공동체를 만들고, 궁극적으로는 ‘사적 독점 소프트웨어’ 를 완전히 극복하는 것이었습니다. 그래서 스톨만은 이 프로젝트를 수행하기 위해 1985년 ‘자유 소프트웨어 재단(Free Software Foundation)’ 을 설립하였습니다.

빅데이터 - 정제와 분석 편

빅데이터 정제
원하는 데이터를 얻기 위해서는 수집된 데이터를 정제하는 과정을 거쳐야 한다. 빅데이터에서 가장 중요한 작업 중의 하나로, 정제가 제대로 이루어지지 않을 경우 데이터의 구성이 일관되지 않아 빅데이터 분석을 할 수 없게 된다.
빅데이터 정제는 다양한 매체로부터 데이터를 수집하여 원하는 형태로 변환하여 빅데이터화 한 후 원하는 장소에 저장하고 저장된 데이터를 활용할 수 있는지 품질을 확인하고 관리한다( 그림 1 참조 ). 수집된 데이터는 원시 데이터 형태지만 빅데이터 정제를 거치면 빅데이터 분석을 할 수 있는 구조를 갖추게 된다.