Code sharing with editing on/off as well as chat window

I am exploring code editors.

I want my coder to be able to see the code but not necessarily edit it.

Sometimes, but not always, I want to be able to switch editing off so that all they can do is leave me a comment to the side of the code.

"Put this after line 31" for instance might be a response or
"Change line 40 to this" for instance.

It's harder than I thought to find a code editor that will allow this.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

If the comment is to be added to the side of the code in the same file, there is no way to do that without allowing the write access to the file. You could limit the write capability somehow, but this would bind you to a specific tool (special editor) -- and this usually does not work. If the programmer is not allowed to use any tool he likes, he looses his power. Back to the specialized tool -- you may finally find that the approach with the tool developed for the purpose does not fit all situations either. Also, you may find, that you are limited in other ways when using the tool.

In my opinion, this task is related to organizing the work, to protecting the work that was already done, to planning of what should be done, and to propagating the changes. In the same way, the things should remain simple. Also, using the absolute anchors like "line 31" would not work as the source code is breathing.

My suggestion is to use the Git version control system (for some reasons that we may discuss here) to protect reliably the work that was already done, to share changes, and to be able to return back to the state before the changes. The notes of what should be done should take or the form of real comments to the program sources, or the notes captured in external sources. The external sources could be from simple text files to say bug tracking systems.
to add to before answer:

when using a version control system, you always have the choice to prevent from checking out files if the user doesn't have the required permissions. that way you can't avoid that a source code locally was changed  - same as you can't avoid that source code was copied - but that changes were checked-in by unauthorized people and spoil the tested code. to allow comments to be related to a source, you may use tools that provide a task board where comments and workitems easily can be exchanged between developers. you easily can find  version control systems which provide both version control and a (scrum) task board.  


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
frugalmuleAuthor Commented:
The git control system sounds good and is the one I hear about the most.  I like the idea of controlling the ability to check out.  

Does the git control system have a scrum task board?

If the helper on the other end doesn't know how to use it, can they still see a question related to the portion of the code you want them to be able to view only?

I usually connect with a potential coder by way of a kibitz the first time in Google Hangouts where I can share a chat between me and them, easily add and remove people, and name the chat by their name or the name of the project.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

if you search for scrum and github you will get many products some of them for free.

for example at

frugalmuleAuthor Commented:
Thanks for the comment.  I might be putting the cart before the horse here.   I don't want this to unravel.  I just need a code sharing solution that's easy to set up and share some code.
I do not have first-hand experience with scrum processes. (It is different to live it than to read about it.) Definitely, Git has no explicit support for exactly that methodology. Better to say, Git is rather low level -- it does not care what is it used for. From another point of view, Git is probably very suitable for that kind of work because it allows the repositories be cloned and maintained in a distributed way. This way every person has his/her own clone of the repository. The repositories need not to be (and usually are not) the exact copies of the other repositories. They evolve with the person's work.

However, the Git allows to work with hierarchy of repositories. Technically, they are all equal. But you may consider some of them be "referential". Anyone can clone the referential repository and anyone can merge its content to his/her own repository. See the 5.1 Distributed Git - Distributed Workflows for getting better idea o how the work can be shared and organized (responsibilities) when using Git.

From my own experience, I cannot imagine the way of work where Git would cause the limits. In the scrum team with Git, it can be a good idea to introduce branches named by the developer (to contain the developers signature or so -- just to be identifiable; the developer will probably add more to the branch name to create more branches). And some branch names may be reserved (by convention) to be "untouchable". It is extremely cheap operation in Git and is very easy to work with branches (merging being the most complex operation is also easy).

To get the feeling, you should think about Git more as a about the way to store snapshots of the project, not as one repository. What one actually needs to share/merge the work is the snapshots related to some situations. In this sense, one Git repository contains certain snapshots (along the branches, with splitting and merging the branches, but one point in the graph is one snapshot -- the set of files in the exact state).

Git makes it easy to ensure that each person gets the same snapshot of files. If you do not need, you do not want to store the intermediary snapshots of the others. This way, the team Git repositories are not the exact copies of the others, but you can even explicitly label the snapshots that are somehow important. And it is easy to spread them to the other repositories.

To summarize, using any methodology, you work on set of source file, plus you have a set of files with the administrative/maintenance purpose. If it makes sense to merge the files, and if it is doable to implement the wanted methodology, then Git will definitely will help you to distribute the same file snapshots to everyone in the team, and to merge the results of the team.
frugalmuleAuthor Commented:
I found an adequate solution for my needs today with free visual studio online and no longer need attention on this question. This is a screencast of what I found there and how I am using it
nociSoftware EngineerCommented:
etherpad come to mind.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.