Good day!
I want to share my experience of using open-source in various projects - from educational to commercial. Someone will surely accuse me of not professionalism, someone will simply say that it is all somehow one-sided, but nevertheless ...
MathWorld Student Project
I decided how to learn PHP. And what is the best way to learn a new programming language? That's right, you need to write your project on this technology. Since I love mathematics, the project decided to devote to mathcad, which was used for calculations at the university. For a month or two, as they say, "on the knee" from scratch was written by a small engine, which:
- was very simple
- contained a code for which later it was a shame
- was not convenient for automatic filling.
But nevertheless, he
worked and, I think, this is the most important thing. After the attendance on the site reached 50-60 hosts per day (you will agree, for the first self-taught student project on free hosting level four is not bad), I decided to expand the site. The choice fell on PHPNuke - open source CMS.
')
After installing and configuring the engine, transferring most of the materials, I got:
- a buggy braked system that was loaded an order of magnitude longer than mine (I’ll make a reservation that I turned off almost all unused modules)
- spam in the amount of 10-20 comments per day
- any customization took a lot of time.
As a result, I refused the site using PHPNuke and just completed the old system, which allowed it to work successfully for another 3 years.
As the saying goes, amateurs cost the Ark, the professionals built the Titanic (s).
Commercial project
Already as an employee of an IT company, he carried out a project for Israeli Microsoft. It was an ASP.NET project for setting up a certain system, but that's not the point. It was necessary to implement a modal progress bar (modal update progress). The solution was found very quickly on the codeproject and was integrated into the project.
In the process of integration on the side of the customer, I had to report on each "left" dll in the project. Naturally, the question arose about this progress bar. I gave a link to the project, where it says that you can do whatever you want with this code, etc. etc. The result was simple - the code was rejected and forced to remake.
So the situation
- codeperoject is directly supported by Microsoft
- the code was supported by some kind of license, which simply
should be there , and not because the author of the code decided to create difficulties for someone. She allowed to do anything with this code.
- the whole dll consisted of about 100 lines!
Nevertheless, it was necessary to redo it, because in practice it turned out that it was impossible to use this type of code in commercial projects.
Personal project
There was an idea to create a project TechPosters (at the moment it does not work, since there were problems with the hoster), which I mentioned several times in Habr.
This is exactly the project when the engine is needed, and the value of the site - its content. The project was conceived as a hobby, so there were no big demands.
On a codeplex, the search results for the keywords
“blog engine” produce a lot of results.
BlogEngine.NET comes first in downloads and likes. After deploying and adding materials, two days later I discovered that all the tags, carefully placed on posts, disappeared. Consequently, convenient navigation in directions disappeared. After several days of proceedings, the problem was not resolved. Newly placed tags just disappeared after a while (not immediately). Now I remember that it may be wrong to put the rights of recording, access or something else. But the fact remains that I could not get this engine to work for myself.
The choice was made in the direction of
dasBlog , which did not require a database, was easy to configure and use. All information was stored in XML files. Only then did I realize how screwed up. The engine wrote all the file paths as
http: // domain / file path
Those. Moving the site entirely to another hosting (which I am facing at the moment) is a silent horror. In addition, the engine keeps all logs in files, carefully created in the root (!) Of the site, i.e. when I discovered 200 extra files at the root after two months, I was surprised. But when I saw changeLog at 100 MB, I was nervous ... Spam, inconvenience in terms of moderation of comments, etc. I refer to the flowers.
Choosing a new engine was not long in coming -
LiveStreet is ideally suited to my needs. The guys did a good job, thanks to them for that.
The question was that I needed to put the engine on IIS7. So, the problems started right away. The engine at close range did not want to work. It took 3 days to talk to hosters who were very polite, but still eventually sent me away. The whole point is that they were right. The nuances of IIS7 were not taken into account when developing the engine, nor was it written anywhere about not trying to force the engine to work on IIS7 using brute force. On the site blogs, many references to the problem were found, but nowhere was the solution of the problem described in detail. As a result, another 2 days on the nerves, after which I had to abandon IIS7 and take additional hosting on apache. And all because it is not written on the site in large letters that should not be put on IIS7 or, if so, how.
Eventually:
- it took a lot of time, effort and nerves
- 4 open tickets to hosting support
- new hosting, additional confusion with domain names and dns
Currently,
TechPosters is running in apache test mode.
One more example
A year ago I was looking for a social network engine and
found it ! One problem is the engine in Chinese.
I sent a ticket for localization in English - promised to update within a month. Soon there will be a year ... And what you wanted was open source, no guarantees. I would have localized it myself, but it didn’t happen with the Chinese ...
Just an observation
When installing something using the Microsoft Web Platform Installer decided to see what else this tool contains. Saw in the Wiki section of the ScrewTurn Wiki - wikidwig on asp.net, open source. Hmm, great, I thought and climbed up to download open source. In the process of downloading found the tab
«Commercial» , opened and ... ofigel. Unlimited Redistribution + Lifetime Updates license costs € 5,000. On stackoverflow, I even
raised a question about commercial use, from which I realized that it definitely wouldn't work for me, because I get under the GPL violations, and I don’t have € 5,000.
I also killed the project cost calculator. The cost of developing a wiki is $ 1,230,990. Hmm ...
is it so bad?
Of course not. For example, we use redmine and I like it. I use many small projects and lotions successfully every day, but in the “complete solution” area things are bad.
In addition, on the codeplex, I
coordinate several small projects. And I like it :-) But just for fun.
Conclusion
I have always been careful about open source. I have never supported the idea of ​​"free software" at the level of religion, I do not understand when open source is equated to light and clean, and proprietary software to evil and terrible. All I want to say is that you need to think carefully before using open source in your projects so that you don’t manage to do double work.
Thanks for attention.
Upd. In my topic is clearly indicated - "real experience."