Where do Open Source projects hold their design files? [closed] - open-source

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have seen many opensource project on github, sourceforge etc.
Went through the code on many big projects.
I have never seen ANY design diagrams, from simple class diagrams to sequence diagrams.
Also, many projects (not all) don't actually have any comments on their code.
How is this even possible? No design and some comments only.

This depends on the project at hand; design diagrams could be found in the source tree, or on the project's website, or any number of places. There may not even be design diagrams at all -- they're not strictly necessary for software development.

The reality is that most industry strength software is written without design diagrams, class diagrams and/or other UML style documentation.
Why? Because most experienced developers (including me) do not see enough value/cost benefits from doing it.
Developers are relatively quick to adapt tools that are practical and helpful (test tools, source control, code analyzers, profilers etc.) so it is not a question of developers being "old dogs" and/or not wanting to improve the tools they use. If design diagrams etc. actually helped speed up development and/or improved product quality then it would be used a lot more than it is. However it doesn't so it isn't. And this is despite 30+ years of "guru" after "guru" trying to push yet another box/sphere/line tool down developers throat :-)

Related

the advantage of reading open source code [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I know there is no clear answer to this question. I still wonder to know whether Reading open source code can improve myself rapidly? how and why?
ps:I keep reading open source code every day for months.
Well, many of the bigger open source projects are collaborations between many people: Thus you do have a chance of finding a project written by good developers, and therefore improve your own coding style. Of course, it all depends if you actually memorise the stuff you read or not - But I guess you wouldn't really read that much code if you didn't.
In my opinion, you can learn the following from well-written projects:
Coding conventions
Solutions to common problems (Of course, this depends heavily on the "type" of the project)
How to document code properly - If multiple people work on something, and the project is well-written, it probably also has a good documentation.
Of course, all of this is opinion-based, so you need to see for yourself.
Possible answers (this is highly subjective)
Because working with someone else's code is more difficult than working with my own code. It forces me to adapt to some else's thinking ("If all I have is a hammer, every problem looks like a nail")
Because open-source code is often not written under a deadline, by people who enjoy what they are working at, and can provide high-quality real-world examples
Because open-source code tends to have less of an agenda to push vendor XYZ's proprietary pet technology
Because the world might become a slighly better place, if people wouldn't code for the CPU as their main audience, but a human reader :)

Open source as a speed breaker to my project [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
We develop scientific software and I manage a small group of applied scientists who write great code. A lot of our products depend on stable development tools which we've been using for developing a stable code base. Now the issue is, someone from the management visited an open source conference and was too pleased to see a lot of great tools which can be used internally for free in place of the commercial ones we've been using so far. So he suggested to the management to remove costs of buying the tools we've using and shift to the open source ones. Now I do not have anything against the open source movement but through a small experiment I found that my team is spending a lot more time debugging and maintaining stable code bases for those open source tools .
I'm sure a lot of other program manager's have had this problem so far. Would people relate their experiences and let me know of any studies made on this subject ? i want to present a cost benefit analysis to the management by giving some statistical facts not just empirical evidence. I'll be glad to know some case studies thereof.
I think open source is terrific, but I use a commercial IDE (IntelliJ) for Java development, even though there are popular open source alternates Eclipse and NetBeans. In my experience, IntelliJ is the best IDE, hands down, with a measurable impact on my productivity.
I can't say that it's true of all tools, but in this case it is.
I don't believe that either open source or commercial tools can claim the high ground here, because I can cite good and bad examples on both sides. Blanket statements and "me, too" thinking are usually a bad idea.
Statistics will be hard to come by. 86% of all statistics are made up on the spot.
I would expect managers in a company whose products are based on science to be more rational. You're a small firm - talk it through. If it's not possible in your situation, then no one has a chance.

Releasing company's code on free software licence [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
My company (EU-based) is considering to release some parts of our code
under a free software license. We are going to ask lawyers, but firstly
I'd like to ask what problems should we expect when doing that? We are
planning to use LGPL license, mostly because we want to be able to reuse
other people's code in our (closed) software later too.
Edit: We own all the code we want to be released (everything was written
by a single developer, and he actually proposed to opensource the code).
Also we don't care about reusing
this code by our competitors; this piece of code is more or less orthogonal
to what we do for living. We do expect that this code will be improved by others (or at
least spot any bugs), but it is actually good enough for us already.
Thanks for opinions.
Possible problems:
You do not own the rights on all of your own code (e.g. some portion was made by a freelancer but the rights were never properly transfered)
You expect something to happen with your code (e.g. other people to improve it) but it never happens
Your code becomes used in a competing product and you cannot prevent that
You want to withdraw the freedom and find out you can't
If your company wants to keep some control of what is the official code, I suggest you the Artistic License 2.0, instead of LGPL.
I would recommended releasing under LGPL or BSD style license, which does not contain any responsibilities from your side.
Regarding the use of code by other people, again, use only BDS licensed code and you are all set.
If you use the LGPL, contributions from other people can still be done under the GPL, which would prevent you from reusing their code in close-source software. You'll have to watch out for that. Also, even if their contribution is LGPLed, you only have the freedom to not open the source if that code is used in an external DLL or the like.
This is a very rough description, and the implications of that are quite hard to grasp (I don't fully either) and also depend on what kind of software you're developing, so you definitively have to consult a lawyer.
You might also want to look at what Qt does.

Open Source Competition or Collaboration [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I always have found the open source space interesting but have never actually participated in any projects. I recently had what I thought was a great a idea that was different from other projects I had seen in the area (in case it matters it was a .NET DI framework).
My question is if I have a funky idea should I join an existing project and share my ideas or create a competing project with exactly what I want. There are a few projects in the space the are similar to what I was thinking but they don't quite capture the same ideals.
Is extra competition frown upon in the open source space?
Competition is as important as collaboration in open source. Assuming the licenses are compatible, features and ideas can be cross-pollenating. Everybody wins.
the short answer to this is another question: do you want to contribute to a discussion, or do things your way?
You may want to consider writing it your own way and turning that process into an article that you could submit to CodeProject. Then if there seems to be interest in the article, add it to SourceForge. I've seen a lot of tools and widgets get a quick audience and coding help that way. One that I use often is XPTable, which started as a CodeProject article and eventually became an open source project on SourceForge.
BTW, you'll know if its a hit, because you'll start to get lots of requests for improvement, or people even submitting their own fixes and enhancements to your article.
Thank you for your time. I have decided to contribute directly for the project in some areas they were hurting. By doing so I can help the project and learn from the masters.

Which open source project would you recommend contributing to? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
What open source projects would you recommend as a good place for a starting open source developer? Factors that I think would be important are some obvious ones like well written code and a community that is helpful to newbies. But it might be nice if the code base is such that I can start hacking some small problems without really understanding the details of how everything works.
I'd prefer something that can be developed on Linux using C/C++/Java/Python/Scala.
Trying to pick a project like that will never work because it's not something you're passionate about. What's an open source project that you use daily or enjoy using? Go work with that one.
It really depends on what your interests are as to what project to dive into.
Rationale for a larger project (e.g. Firefox, OpenOffice, etc) is that it has many developers, a well established code base, and many small tasks/bugs to be worked out.
Rationale for a smaller project is that you will become more intimate with the code and application. You will likely get to know other developers on the team and understand the overall concept better. Additionally, your additions to the project may be more noticeable.
sourceforge has a list of projects seeking a new developer. Therer are several for your requested programming languages:
http://sourceforge.net/people/?category_id=1
Apart from developers they have more help requests:
http://sourceforge.net/people/
Pick one you use and like already.