Open Source Software – an Educator’s Overview

I have always been keen on taking advantage of free offers. Given the choice between a fast food meal with a freebie or one without, I’ll plump for the mystery envelope every time. It’s human nature, and marketers know it well.

Even in 1979, when I bought my first home computer, there were user groups who supplied type-in listings for a nominal charge. When I bought the first of a series of Atari ST computers in the ’80s and ’90s, I was a regular customer and contributor to a public domain (PD) software library. Fast forward to the end of the ’90s and I was distributing the source code to a number of simple educational flash games to other teachers over the internet.

So that’s my credentials. Like many others, however, I have received much more from open source software than I have ever put in. For the uninitiated, it is worth explaining a few definitions here:

Shareware Software: is free to try, but there is a moral obligation to register your software with its creator and receive upgrades and support in return for a fee. The evaluation period may last for a reasonable length of time after which some features of the software may become unusable.

The Public Domain: if the creator of a work relinquishes all his rights to his intellectual property, it enters the public domain and can be used by others to create derivative works or profit from it without payment of any fees or need for some form of license.

License: many creators who wish to share their intellectual property with others will give away limited rights that allow the user to do a range of things – but still maintain overall control of the way their work is used. Many open source software developers will use the GNU Public License (GPL) as a framework for stating how their work can be used.

Open source software does not have to be synonymous with poorly written undocumented utilities that nobody else wants. Here are a few of my favourites:

Open Office: a fully-fledged office suite, word-processor, spreadsheet, presentation software and graphics package. The fact that these programs will export both PDF format to be read by Adobe Acrobat reader and SWF flash files for use on the web makes them incredibly useful to me. They are the main application software that I use on my laptop.

The GIMP: an image processing package with enough features to rival Photoshop. For younger artists, my daughters love Tux Paint with its variety of stamps and special features.

Moodle: an open source content management system specifically designed for educators. There are plenty of other open source CMS packages available for blogging or running your own web portal.

Features of Software Development Outsourcing in Belarus

Outsourcing is an effective cost-saving strategy when you contract with another company (usually foreign) or person to do a particular function. There are many benefits from outsourcing, for example it lets organizations hire the employees for performing certain tasks and pay only for them. There is no need to hire and train permanent staff. Outsourcing pays off because you can choose from experienced and reliable specialists worldwide. Besides transferring external staff helps to handle the peak loads easily.

The software industry is one of the most quickly developing and growing areas, that is why companies feel the need for hiring qualified staff. That explains why more and more companies (such giants as Motorola, Oracle, and Microsoft) are taking advantage of outsourcing nowadays.

Certainly, there is the other side of the coin. The success of business depends heavily on the country chosen for outsourcing. Many companies in the USA and Europe prefer to transfer software development job to Russia, Belarus, Ukraine and India. This article covers the pros and cons of software outsourcing in Belarus.

Advantages of software development outsourcing in Belarus

Human resources

Historically in Belarus there are many universities and institutes that provide free higher education. Therefore many young people have an opportunity to get it. But the applicants have to go through very strict selection procedure and then make the best efforts to have the highest results. Therefore the traditional education is on a very high level and the students become really high-level professionals.

Also there are many new private institutes. Their education program is more flexible and can quickly react to any requirements of the market. Nowadays they make the main emphasis on IT-specializations like developers, designers, testers, analysts, etc.

It is important to realize that higher education in Belarus means not only deep knowledge in the chosen specialization but also lateral thinking and capabilities to solve complicated and intensive tasks. That is why the Belorussian developers are known as the experts with broad-based knowledge who are able to provide top-quality products.

Rates

What is the most important thing for the customer? Without a doubt, the goal is to get the highest quality product at a low price. The cost of software products made in Belarus is much less than the one in the USA or in Western Europe. Firstly, the average rate per hour is much less here; secondly, the Belorussian developers can perform many types of qualified work – one person can be a developer, a business analyst and a manager at the same time. Also personal responsibility is very high here so the customer is absolutely sure that his/her money won’t be wasted.

Geographic location

Belarus is situated exactly in the center of Europe. The neighboring countries are Poland, Lithuania, Latvia, Ukraine and Russia. The country has good transport connections with many European capitals and there is no problem to reach almost any point of Europe in two or three hours. As for more distant countries, one can be there in a couple of hours if he takes a connecting flight in Moscow.

The approximate flight time from Minsk (the capital of Belarus) to Moscow is 1 hour and 30 minutes, to Vilnius is 40 minutes, to Paris is 3 hours, to Prague is 1 hour and 45 minutes, to Berlin is 1 hour and 50 minutes.

Therefore such favorable location of Belarus allows having private meetings with the team in different countries when required.

Time zone

Belarus has the same time zone with many European countries. Belarus is in the Eastern European Standard time zone. EET is only 3 hours ahead of Greenwich Mean Time It allows to be constantly in touch and to resolve all working problems online.

The time difference between Belarus and USA is 7-11 hours. And this difference is very favorable to the American customers as it allows them to give the task before the night and receive the work done in the morning. As they say, you sleep but the work goes on! Under such conditions the work is performed even faster and more efficiently than it could be done in one time zone.

Mentality

There’s no secret that good communication and sympathy are the key to success. Misunderstanding and cultural gap are the problems which often arise in an international team. The difference of mentality and the language barrier can destroy any great idea.

Belarusians are known for their intelligence and politeness. They live just in the heart of Europe and have European mentality. Also good English skills are one of the most important parts of higher education here. Choosing outsourcing in Belarus, the customer can be sure that he/she will have no problems with communication with the team.

Disadvantages of software development outsourcing in Belarus

In fact, Belarus does not have any specific disadvantages of software development outsourcing, but one can come across some general problems. Such as:

  • Doing business with an inexperienced partner

Although there are many stories with a happy end in software outsourcing, some new start-up companies don’t understand the specific aspects of this process and fail to meet the deadline. As a result, a customer doesn’t get the quality product on time.

  • Loss of confidentiality

Since business secrets and other proprietary information can make or break the success of your company, you shouldn’t leave their protection to chance. Unhappily, it is very difficult to protect the secrets from leaving the company in outsourcing business. The customer should not take the employee discretion for granted and choose a reliable outsourcing company.

Thus, one of the most important criteria for choosing a partner company for outsourcing should be an assessment of the company’s reliability, experience and good reference from other customers.

To minimize the risks, the good solution is to organize the pilot project with the potential software development outsourcing company. It helps to understand if a large-scale project might work in practice. Only when you have success with the pilot project, you can trust the company to implement your ideas.

Choosing the Right Software Developer

The need for software development is rising each day. So much of our communication, especially when it comes to business and marketing, involves computers or cell phones. With the rise in demand, there is no shortage of options. How does someone with virtually no programming knowledge go about finding the right software developer?

First, as always, do your research. Even knowing what it is you are looking for in a developer takes a bit of education. Finding the right developer that can turn your idea or project into a usable software application may seem daunting, however there are a few points you need to consider.

First, cheaper isn’t always better. Consider the end result of your project. If this is a quick and dirty, temporary timeline, being cost effective might be your biggest priority. On the other hand if you are looking for quality programming, user friendly features, or extra bells and whistles don’t be swayed by low prices or quick delivery times. Demanding experience and references, and making sure you follow up on these will help to ensure you are happy with the final work of your developer. Find examples of what you’d like to see your project look like and what you don’t like then make sure you can communicate these properly to your developer. Being able to convey your vision and having your developer be clear on what you want and what you don’t want is the most important step to take before having anyone commit to the project.

Communication is pivotal when hiring someone to turn an idea into a reality. If you know the developer you are working with is able to communicate problems, ask questions, and most importantly, understand what you want, you will save yourself a lot of headache and make the experience pleasant. Experience, price point and delivery time won’t be nearly as valuable as finding a developer you can communicate with.

You also want to know that if you need to, you can reach your developer. Obviously you won’t be the only client that developer has, however, having someone available to work through problems right away or discuss questions or concerns you might have is going to go a long way to a smooth delivery and a superior end result. Unfortunately it isn’t just about finding the right developer, it’s your idea and you’ll need to be involved every step of the way so this is definitely something to consider when choosing your developer.